1. 31 May, 2007 14 commits
  2. 30 May, 2007 26 commits
    • Trond Myklebust's avatar
      NFS: Fix a refcount leakage in O_DIRECT · b4946ffb
      Trond Myklebust authored
      The current code is leaking a reference to dreq->kref when the calls to
      nfs_direct_read_schedule() and nfs_direct_write_schedule() return an
      error.
      This patch moves the call to kref_put() from nfs_direct_wait() back into
      nfs_direct_read() and nfs_direct_write() (which are the functions that
      actually took the reference in the first place) fixing the leak.
      
      Thanks to Denis V. Lunev for spotting the bug and proposing the original
      fix.
      Acked-by: default avatarDenis V. Lunev <dlunev@gmail.com>
      Acked-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      b4946ffb
    • Kyle McMartin's avatar
      fix possible null ptr deref in kallsyms_lookup · 7a74fc49
      Kyle McMartin authored
      ugh, this function gets called by our unwinder. recursive backtrace for
      the win... bisection to find this one was "fun."
      Signed-off-by: default avatarKyle McMartin <kyle@parisc-linux.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7a74fc49
    • Richard Henderson's avatar
      alpha: support new syscalls · b927b3e2
      Richard Henderson authored
      Some of the new syscalls require supporting TIF_RESTORE_SIGMASK.
      Signed-off-by: default avatarRichard Henderson <rth@twiddle.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b927b3e2
    • Richard Henderson's avatar
      alpha: cleanup in bitops.h · 74fd1b68
      Richard Henderson authored
      Remove 2 functions private to the alpha implemetation,
      in favor of similar functions in <linux/log2.h>.
      
      Provide a more efficient version of the fls64 function
      for pre-ev67 alphas.
      Signed-off-by: default avatarRichard Henderson <rth@twiddle.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      74fd1b68
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · f54496f5
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] Fix some section mismatch warnings
        [ARM] 4417/1: Serial: Fix AMBA drivers locking
        [ARM] 4394/1: ARMv7: Add the TLB range operations
        [ARM] 4410/1: Remove extern declarations in coyote/ixdpg425-pci.c
        [ARM] 4416/1: NWFPE: fix undeclared symbols
        [ARM] 4415/1: AML5900: fix sparse warnings from map_io
        [ARM] 4414/1: S3C2443: sparse fix for clock.c
        [ARM] 4412/1: S3C2412: reset errata fix
        [ARM] 4411/1: KS8695: Another serial driver fix
        [ARM] oprofile: avoid lockdep warnings on mpcore oprofile init
        [ARM] Fix stacktrace FP range checking
        [ARM] use __used attribute
        [ARM] enable arbitary speed tty ioctls and split input/output speed
        [ARM] remove unused header file: arch/arm/mach-s3c2410/bast.h
        [ARM] 4406/1: Trivial NSLU2 / NAS-100D header & setup code cleanup
        [ARM] 4405/1: NSLU2, DSM-G600 frequency fixup code
        [ARM] 4404/1: Trivial IXP42x Kconfig cleanup
        [ARM] 4403/1: Make the PXA-I2C driver work with lockdep validator
        [ARM] 4402/1: S3C2443: Add physical address of HSMMC controller
        [ARM] 4401/1: S3C2443: Add definitions for port GPIOJ
      f54496f5
    • Russell King's avatar
      [ARM] Fix some section mismatch warnings · cdea4606
      Russell King authored
      The following patch fixes these section mismatch warnings:
      
      WARNING: arch/arm/mach-at91/built-in.o(.text+0xdf4): Section mismatch: reference to .init.data:dk_nand_partition (between 'nand_partitions' and 'at91_leds_event')
      WARNING: arch/arm/mach-at91/built-in.o(.text+0xbdc): Section mismatch: reference to .init.data:ek_nand_partition (after 'nand_partitions')
      WARNING: arch/arm/mach-at91/built-in.o(.text+0xbdc): Section mismatch: reference to .init.data:ek_nand_partition (between 'nand_partitions' and 'ads7843_pendown_state')
      WARNING: arch/arm/mach-at91/built-in.o(.text+0xbdc): Section mismatch: reference to .init.data:ek_nand_partition (after 'nand_partitions')
      WARNING: arch/arm/mach-at91/built-in.o(.text+0xc28): Section mismatch: reference to .init.data:kb9202_nand_partition (after 'nand_partitions')
      WARNING: arch/arm/mach-footbridge/built-in.o(.text+0xaa4): Section mismatch: reference to .init.data:cats_pci (between 'cats_pci_init' and 'ebsa285_leds_event')WARNING: arch/arm/mach-ixp2000/built-in.o(.text+0xb54): Section mismatch: reference to .init.text:ixp2000_init_irq (between 'ixdp2x00_init_irq' and 'ixdp2x00_irq_handler')
      WARNING: arch/arm/mach-ixp23xx/built-in.o(.text+0x670): Section mismatch: reference to .init.text:ixp23xx_pci_common_init (between 'ixp23xx_pci_slave_init' and 'ixp23xx_pci_scan_bus')
      WARNING: arch/arm/mach-ixp23xx/built-in.o(.text+0x890): Section mismatch: reference to .init.text:ixp23xx_init_irq (between 'ixdp2351_init_irq' and 'roadrunner_pci_preinit')
      WARNING: arch/arm/mach-ixp23xx/built-in.o(.text+0x9a8): Section mismatch: reference to .init.text:ixp23xx_pci_preinit (after 'roadrunner_pci_preinit')
      WARNING: arch/arm/mach-imx/built-in.o(__ksymtab+0x80): Section mismatch: reference to .init.text:imx_set_mmc_info (between '__ksymtab_imx_set_mmc_info' and '__ksymtab_set_imx_fb_info')
      WARNING: arch/arm/mach-imx/built-in.o(__ksymtab+0x88): Section mismatch: reference to .init.text:set_imx_fb_info (after '__ksymtab_set_imx_fb_info')
      WARNING: arch/arm/mach-sa1100/built-in.o(.text+0x1930): Section mismatch: reference to .init.data:neponset_port_fns (between 'neponset_probe' and 'assabet_leds_event')
      WARNING: drivers/built-in.o(.text+0x3f100): Section mismatch: reference to .init.text:ps2_clear_input (between 'ps2_probe' and 'ps2_cmd_aborted')
      WARNING: drivers/built-in.o(.text+0x3f1c8): Section mismatch: reference to .init.text:ps2_clear_input (between 'ps2_probe' and 'ps2_cmd_aborted')
      WARNING: drivers/built-in.o(.text+0x4f988): Section mismatch: reference to .init.text:ps2_clear_input (between 'ps2_probe' and 'ps2_cmd_aborted')
      WARNING: drivers/built-in.o(.text+0x4fa50): Section mismatch: reference to .init.text:ps2_clear_input (between 'ps2_probe' and 'ps2_cmd_aborted')
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Acked-by: default avatarLennert Buytenhek <buytenh@wantstofly.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      cdea4606
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 · aa2d3322
      Linus Torvalds authored
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
        ehea: Fixed multi queue RX bug
        sky2: enable IRQ on duplex renegotiation
        e1000: restore netif_poll_enable call but make sure IRQs are off
        defxx: Fix the handling of ioremap() failures
        sky2: program proper register for fiber PHY
        sky2: checksum offload plus vlan bug
        sky2: dont set bogus bit in PHY register
        [PATCH] hostap: Allocate enough tailroom for TKIP
        [PATCH] softmac: alloc_ieee80211() NULL check
        [PATCH] ieee80211: fix incomplete error message
        [PATCH] prism54: fix monitor mode oops
      aa2d3322
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 · 9462544f
      Linus Torvalds authored
      * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6:
        [XFS] Write at EOF may not update filesize correctly.
      9462544f
    • Thomas Klein's avatar
      ehea: Fixed multi queue RX bug · ade21372
      Thomas Klein authored
      Must access the respective queue's dummy netdev instead of the port's netdev.
      Signed-off-by: default avatarThomas Klein <tklein@de.ibm.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      ade21372
    • Stephen Hemminger's avatar
      sky2: enable IRQ on duplex renegotiation · d8511f83
      Stephen Hemminger authored
      Don't want IRQ on FIFO error because there is nothing useful to do with it.
      But do want IRQ on duplex change.
      Signed-off-by: default avatarStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      d8511f83
    • Herbert Xu's avatar
      e1000: restore netif_poll_enable call but make sure IRQs are off · 47313054
      Herbert Xu authored
      This restores the previously removed netif_poll_enable call in e1000_open.
      It's needed on all but the first call to e1000_open for a NIC as
      e1000_close always calls netif_poll_disable.
      
      netif_poll_enable can only be called safely if no polls have been
      scheduled.  This should be the case as long as we don't enter our IRQ
      handler.
      
      In order to guarantee this we explicitly disable IRQs as early as possible
      when we're probing the NIC.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Cc: "Kok, Auke" <auke-jan.h.kok@intel.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      47313054
    • Maciej W. Rozycki's avatar
      defxx: Fix the handling of ioremap() failures · 8a323526
      Maciej W. Rozycki authored
       If ioremap_nocache() is unfortunate enough to fail, the error code is not
      set correctly leading to a false success from dfx_register().  This change
      fixes the problem.
      Signed-off-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      8a323526
    • Stephen Hemminger's avatar
      sky2: program proper register for fiber PHY · 34dd962b
      Stephen Hemminger authored
      Driver was reading value from one register, setting bit and then
      writing the wrong register.
      Signed-off-by: default avatarStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      34dd962b
    • Stephen Hemminger's avatar
      sky2: checksum offload plus vlan bug · 56069c0f
      Stephen Hemminger authored
      Driver was not correctly setting up transmit descriptor when doing
      VLAN tag insertion with checksum offload.
      Signed-off-by: default avatarStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      56069c0f
    • Stephen Hemminger's avatar
      sky2: dont set bogus bit in PHY register · b4ed372b
      Stephen Hemminger authored
      This code inherited from the sk98lin driver is incorrect on the Yukon2.
      The GPHY_CTRL register values are specific to the internal PHY of the chip
      and the values used were leftovers.
      Driver was setting bit 13 which is now the INT polarity for the PHY!
      Signed-off-by: default avatarStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      b4ed372b
    • Jeff Garzik's avatar
      Merge branch 'upstream-fixes' of... · 8903bab0
      Jeff Garzik authored
      Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes
      8903bab0
    • Thomas Gleixner's avatar
      [ARM] 4417/1: Serial: Fix AMBA drivers locking · 2389b272
      Thomas Gleixner authored
      The -rt patch triggered a lockdep warning in the amba serial drivers, which never
      shows up on UP kernels. On SMP systems this would trigger as well.
      
      Release the port lock before calling tty_flip_buffer_push() and reacquire it after
      the call. This matches the code in the 8250 serial driver.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      2389b272
    • Catalin Marinas's avatar
      [ARM] 4394/1: ARMv7: Add the TLB range operations · 2ccdd1e7
      Catalin Marinas authored
      We are currently using the ARMv6 operations but need to duplicate some
      of the code because of the introduction of the new CPU barrier
      instructions in ARMv7.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      2ccdd1e7
    • Michael-Luke Jones's avatar
      [ARM] 4410/1: Remove extern declarations in coyote/ixdpg425-pci.c · 919a8429
      Michael-Luke Jones authored
      This patch removes apparently unnecessary extern declarations in
      coyote-pci.c and ixdpg425-pci.c within arch/arm/mach-ixp4xx and
      has been compile-tested without producing warnings or errors.
      
      Kernel coding style forbids the use of extern declarations within .c
      files.
      Signed-off-by: default avatarMichael-Luke Jones <mlj28@cam.ac.uk>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      919a8429
    • Ben Dooks's avatar
      [ARM] 4416/1: NWFPE: fix undeclared symbols · 1ff08288
      Ben Dooks authored
      Fix the undeclared symbols sparse is warning about.
      
      arch/arm/nwfpe/softfloat.c:1727:7: warning: symbol 'float64_to_uint32' was not declared. Should it be static?
      arch/arm/nwfpe/softfloat.c:1753:7: warning: symbol 'float64_to_uint32_round_to_zero' was not declared. Should it be static?
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      1ff08288
    • Ben Dooks's avatar
      [ARM] 4415/1: AML5900: fix sparse warnings from map_io · e078761a
      Ben Dooks authored
      The map_io function does not need to be exported
      from this file, and therefore should be declared
      static.
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      e078761a
    • Ben Dooks's avatar
      [ARM] 4414/1: S3C2443: sparse fix for clock.c · 0cc69daa
      Ben Dooks authored
      Fix sparse warnings in the arch/arm/mach-s3c2443/clock.c,
      including an bug in initialising the cf clock initialiser
      where two values are being set for the ctrlbit.
      
      arch/arm/mach-s3c2443/clock.c:397:12: warning: symbol 'clk_usb_bus_host' was not declared. Should it be static?
      arch/arm/mach-s3c2443/clock.c:760:4: error: Initializer entry defined twice
      arch/arm/mach-s3c2443/clock.c:761:4:   also defined here
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      0cc69daa
    • Ben Dooks's avatar
      [ARM] 4412/1: S3C2412: reset errata fix · eca8c242
      Ben Dooks authored
      The S3C2412 has an reset-errata where the clock
      may cause a glitch switching back to EXTCLK. We
      force a switch to EXTCLK before writing the
      reset register to force use of the CLKCON sync
      logic to properly switch.
      
      Fix problem reported by Matthieu Castet.
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      eca8c242
    • Andrew Victor's avatar
      [ARM] 4411/1: KS8695: Another serial driver fix · 486cab2b
      Andrew Victor authored
      Fix a error reported by newer versions of GCC.
      error: static declaration of 'ks8695_reg' follows non-static declaration
      Signed-off-by: default avatarAndrew Victor <andrew@sanpeople.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      486cab2b
    • Russell King's avatar
      [ARM] oprofile: avoid lockdep warnings on mpcore oprofile init · 28c670cb
      Russell King authored
      Fix lockdep warnings, caused by 'set_affinity' being called without
      the correct locks taken and local interrupts disabled:
      
      =================================
      [ INFO: inconsistent lock state ]
      2.6.22-rc2 #1
      ---------------------------------
      inconsistent {in-hardirq-W} -> {hardirq-on-W} usage.
      swapper/1 [HC0[0]:SC0[0]:HE1:SE1] takes:
      (irq_controller_lock){++..}, at: [<c002be50>] gic_set_cpu+0x60/0xa0
      {in-hardirq-W} state was registered at:
       [<c005d9a8>] lock_acquire+0x58/0x6c
       [<c0233068>] _spin_lock+0x40/0x50
       [<c002c020>] gic_mask_irq+0x2c/0x6c
       [<c0069c64>] handle_level_irq+0x11c/0x14c
       [<c0020060>] asm_do_IRQ+0x60/0x84
       [<c0020d2c>] __irq_svc+0x4c/0xc0
       [<c000ed84>] __alloc_bootmem_nopanic+0x74/0x88
       [<c000edb0>] __alloc_bootmem+0x18/0x3c
       [<c000fa00>] alloc_large_system_hash+0x16c/0x200
       [<c00108dc>] inode_init_early+0x5c/0xa4
       [<c00106dc>] vfs_caches_init_early+0x24/0xa0
       [<c0008e54>] start_kernel+0x220/0x2fc
       [<00008078>] 0x8078
      irq event stamp: 88438
      hardirqs last  enabled at (88438): [<c0020dc0>] preempt_return+0x20/0x2c
      hardirqs last disabled at (88436): [<c00417bc>] __do_softirq+0xb0/0x138
      softirqs last  enabled at (88437): [<c0041810>] __do_softirq+0x104/0x138
      softirqs last disabled at (88428): [<c0041d9c>] irq_exit+0x68/0x7c
      
      other info that might help us debug this:
      no locks held by swapper/1.
      
      stack backtrace:
      [<c0025ecc>] (dump_stack+0x0/0x14) from [<c005b1e4>] (print_usage_bug+0x138/0x168)
      [<c005b0ac>] (print_usage_bug+0x0/0x168) from [<c005be80>] (mark_lock+0x484/0x6a0)
      [<c005b9fc>] (mark_lock+0x0/0x6a0) from [<c005cc48>] (__lock_acquire+0x3c0/0x10c8)
      [<c005c888>] (__lock_acquire+0x0/0x10c8) from [<c005d9a8>] (lock_acquire+0x58/0x6c)
      [<c005d950>] (lock_acquire+0x0/0x6c) from [<c0233068>] (_spin_lock+0x40/0x50)
      [<c0233028>] (_spin_lock+0x0/0x50) from [<c002be50>] (gic_set_cpu+0x60/0xa0)
      [<c002bdf0>] (gic_set_cpu+0x0/0xa0) from [<c01b04cc>] (em_route_irq+0x38/0x40)
      [<c01b0494>] (em_route_irq+0x0/0x40) from [<c01b04ec>] (em_setup+0x18/0xa4)
      [<c01b04d4>] (em_setup+0x0/0xa4) from [<c001570c>] (oprofile_arch_init+0x24/0xe8)
      [<c00156e8>] (oprofile_arch_init+0x0/0xe8) from [<c0015640>] (oprofile_init+0x1c/0x64)
      [<c0015624>] (oprofile_init+0x0/0x64) from [<c0008a20>] (kernel_init+0x154/0x368)
      [<c00088cc>] (kernel_init+0x0/0x368) from [<c003ef34>] (do_exit+0x0/0x904)
      oprofile: using arm/mpcore
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      28c670cb
    • Russell King's avatar
      [ARM] Fix stacktrace FP range checking · 5b10c8e4
      Russell King authored
      Fix an oops in the stacktrace code, caused by improper range checking.
      We subtract 12 off 'fp' before testing to see if it's below the low
      bound.  However, if 'fp' were zero before, it becomes a very large
      positive number, causing this test to succeed where it should fail.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      5b10c8e4