1. 14 Oct, 2009 17 commits
    • Ingo Molnar's avatar
      nvram: Drop the BKL from nvram_open() · 83cb1672
      Ingo Molnar authored
      It's safe to remove the BKL from nvram_open(): there's no open()
      versus read() races: nvram_init() is very simple and race-free,
      it registers the device then puts it into /proc - there's no
      state init to race with.
      
      Cc: Wim Van Sebroeck <wim@iguana.be>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <1255116426-7270-1-git-send-email-fweisbec@gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      83cb1672
    • John Kacur's avatar
      agp: Remove the BKL from agp_open · 55e858c8
      John Kacur authored
      - Remove the BKL from agp_open
      - Perform a few clean-ups.
      
      Analysis:
      ---------
      int minor is local to the function.
      
      The following are protected by agp_fe.agp_mutex
      struct agp_file_private *priv;
      struct agp_client *client;
      
      Call-outs:
      
      kzalloc should be safe to call under the mutex_lock
      
      agp_find_client_by_pid:
      	- agp_mmap calls that under agp_fe.agp_mutex which we hold in agp_open
      	- agpioc_reserve_wrap calls it without any locking what-so-ever.
      		- Is that an error? Or is that okay because it has pid that is
      		  a unique handle?
      
      agp_insert_file_private:
      	- This function only manipulates struct agp_file_private, once again
      	  while agp_fe.agp_mutex is held
      Signed-off-by: default avatarJohn Kacur <jkacur@redhat.com>
      Acked-by: default avatarDavid Airlie <airlied@linux.ie>
      LKML-Reference: <alpine.LFD.2.00.0910112216060.12574@localhost.localdomain>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      55e858c8
    • Thomas Gleixner's avatar
      inifiband: Remove BKL from ipath_open() · f96d3015
      Thomas Gleixner authored
      cycle_kernel_lock() got pushed down to ipath_open(). I tried hard to
      understand what it might protect, but finally gave up.
      
      Roland noted that qlogic seems to have abandoned the ipath driver and
      came to the following wise conclusion: "So I guess if the BKL stuff is
      blocking you in any way, we can just drop it from ipath and leave it
      as yet another race condition in a rotting old driver."
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <adad44tj090.fsf@cisco.com>
      Cc: Roland Dreier <rdreier@cisco.com>
      f96d3015
    • Thomas Gleixner's avatar
      mips: Remove BKL from tb0219 · d2a7be0b
      Thomas Gleixner authored
      cycle_kernel_lock() was added during the big BKL pushdown. It should
      ensure the serializiation against driver init code.
      
      tb0219_base is initialized before the character device is
      registered, but the spinlock is not initialized.
      
      Initialize the spinlock statically and remove cycle_kernel_lock().
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <20091010153350.222654356@linutronix.de>
      Cc: Yoichi Yuasa <yuasa@linux-mips.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      d2a7be0b
    • Thomas Gleixner's avatar
      drivers: Remove BKL from scx200_gpio · 3a8183a2
      Thomas Gleixner authored
      cycle_kernel_lock() was added during the big BKL pushdown. It should
      ensure the serializiation against driver init code. In this case there
      is nothing to serialize. Remove it.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <20091010153350.167321547@linutronix.de>
      Acked-by: default avatarJim Cromie <jim.cromie@gmail.com>
      3a8183a2
    • Thomas Gleixner's avatar
      drivers: Remove BKL from pc8736x_gpio · 71d69bc2
      Thomas Gleixner authored
      cycle_kernel_lock() was added during the big BKL pushdown. It should
      ensure the serializiation against driver init code. In this case there
      is nothing to serialize. Remove it.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <20091010153350.127093710@linutronix.de>
      Acked-by: default avatarJim Cromie <jim.cromie@gmail.com>
      71d69bc2
    • Thomas Gleixner's avatar
      parisc: Remove BKL from eisa_eeprom · eb29b758
      Thomas Gleixner authored
      Remove the empty ioctl and the cycle_kernel_lock() in
      eisa_eeprom_open() which got there with the big BKL push down. There
      is nothing to wait for and sychronize with after the misc device has
      been registered.
      
      Remove the empty ioctl as well. The generic code handles the -ENOTTY
      if no ioctl function is provided.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <20091010153350.086917493@linutronix.de>
      Cc: Kyle McMartin <kyle@parisc-linux.org>
      eb29b758
    • Thomas Gleixner's avatar
      rtc: Remove BKL from efirtc · a5ee6dc9
      Thomas Gleixner authored
      BKL locking came to efirtc via the big BKL push down, but the access
      to the efi functions is protected by efi_rtc_lock already.
      
      Remove it.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <20091010153350.046644063@linutronix.de>
      a5ee6dc9
    • Thomas Gleixner's avatar
      input: Remove BKL from hp_sdc_rtc · d2d23559
      Thomas Gleixner authored
      cycle_kernel_lock() was added during the big BKL pushdown. It should
      ensure the serializiation against driver init code. In this case there
      is nothing to serialize. Remove it.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <20091010153349.884891604@linutronix.de>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Dmitry Torokhov <dtor@mail.ru>
      d2d23559
    • Thomas Gleixner's avatar
      hw_random: Remove BKL from core · a09ba31a
      Thomas Gleixner authored
      hw_random core is completely serialized with rng_mutex. No need for
      the cycle_kernel_lock() magic.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <20091010153349.844488872@linutronix.de>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      a09ba31a
    • Thomas Gleixner's avatar
      macintosh: Remove BKL from ans-lcd · 95fdac73
      Thomas Gleixner authored
      The ans-lcd driver got the cycle_kernel_lock() in anslcd_open() from
      the BKL pushdown and it still uses the locked ioctl.
      
      The BKL serialization in this driver is more than obscure and
      definitely does not cover all possible corner cases. Protect the
      access to the hardware with a local mutex and get rid of BKL and
      locked ioctl.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <20091010153349.966159859@linutronix.de>
      Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      95fdac73
    • Frederic Weisbecker's avatar
      nvram: Drop the bkl from non-generic nvram_llseek() · 9e8ab74d
      Frederic Weisbecker authored
      Drop the bkl from nvram_llseek() as it obviously protects nothing.
      The file offset is safe in essence.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <1255116426-7270-1-git-send-email-fweisbec@gmail.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      9e8ab74d
    • Frederic Weisbecker's avatar
      nvram: Drop the bkl from nvram_llseek() · 6783b9cd
      Frederic Weisbecker authored
      There is nothing to protect inside nvram_llseek(), the file
      offset doesn't need to be protected and nvram_len is only
      initialized from an __init path.
      
      It's safe to remove the big kernel lock there.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <1255116030-6929-1-git-send-email-fweisbec@gmail.com>
      Cc: Greg KH <gregkh@suse.de>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      6783b9cd
    • Frederic Weisbecker's avatar
      mem_class: Drop the bkl from memory_open() · 205153aa
      Frederic Weisbecker authored
      The generic open callback for the mem class devices is "protected" by
      the bkl.
      
      Let's look at the datas manipulated inside memory_open:
      
      - inode and file: safe
      - the devlist: safe because it is constant
      - the memdev classes inside this array are safe too (constant)
      
      After we find out which memdev file operation we need to use, we call
      its open callback. Depending on the targeted memdev, we call either
      open_port() that doesn't manipulate any racy data (just a capable()
      check), or we call nothing.
      
      So it's safe to remove the big kernel lock there.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <1255113062-5835-1-git-send-email-fweisbec@gmail.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      205153aa
    • Thomas Gleixner's avatar
      spi: Remove BKL from spidev_open · 4c2aedc2
      Thomas Gleixner authored
      The BKL was added there with the big pushdown. Remove it as the code
      is serialized already.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <20091010153349.318535932@linutronix.de>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      4c2aedc2
    • Thomas Gleixner's avatar
      drivers: Remove BKL from cs5535_gpio · a7e63bb5
      Thomas Gleixner authored
      The big BKL pushdown added cycle_kernel_lock(). There is nothing to
      wait for in this driver. Remove it.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <20091010153349.277882707@linutronix.de>
      a7e63bb5
    • Thomas Gleixner's avatar
      drivers: Remove BKL from misc_open · 40b798ef
      Thomas Gleixner authored
      misc_open() is already serialized with misc_mtx. Remove the BKL
      locking which got there via the BKL pushdown.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      LKML-Reference: <20091010153349.237173041@linutronix.de>
      40b798ef
  2. 13 Oct, 2009 18 commits
  3. 12 Oct, 2009 5 commits
    • Jan Kara's avatar
      6dbce521
    • Theodore Ts'o's avatar
      ext3: Don't update superblock write time when filesystem is read-only · 96ec2e0a
      Theodore Ts'o authored
      This avoids updating the superblock write time when we are mounting
      the root file system read/only but we need to replay the journal; at
      that point, for people who are east of GMT and who make their clock
      tick in localtime for Windows bug-for-bug compatibility, and this will
      cause e2fsck to complain and force a full file system check.
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      96ec2e0a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 · 2caa7318
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
        PCI: Prevent AER driver from being loaded on non-root port PCIE devices
        PCI: get larger bridge ranges when space is available
        PCI: pci.c: fix kernel-doc notation
        PCI quirk: TI XIO200a erroneously reports support for fast b2b transfers
        PCI PM: Read device power state from register after updating it
        PCI: remove pci_assign_resource_fixed()
        PCI: PCIe portdrv: remove "-driver" from driver name
      2caa7318
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · 589bf8d5
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm: (24 commits)
        ARM: force dcache flush if dcache_dirty bit set
        [ARM] pxa: workaround errata #37 by not using half turbo switching
        [ARM] pxamci: fix printing gpio numbers in pxamci_probe
        [ARM] pxa/csb726: adjust duplicate structure field initialization
        ARM: Add kmap_atomic type debugging
        ARM: boolean bit testing
        ARM: update die() output
        ARM: Dump code/mem oops lines with the appropriate log level
        ARM: Dump memory and backtrace as one printk per line
        ARM: 5756/1: ep93xx: introduce clk parent
        ARM: 5754/1: ep93xx: update i2c support
        ARM: 5753/1: ep93xx: remove old EP93XX_GPIO_* defines
        ARM: 5729/1: ep93xx: define EP93XX_*_PHYS_BASE with macros
        ARM: 5751/1: ep93xx/micro9: Add Micro9-Slim
        ARM: 5750/1: ep93xx/micro9: Update platform code
        ARM: 5749/1: ep93xx/micro9: Update maintainer
        ARM: 5752/1: SA1100: fix building of h3100
        ARM: 5748/1: bcmring: fix build warning messages
        ARM: 5747/1: Fix the start_pg value in free_memmap()
        ARM: 5746/1: Handle possible translation errors in ARMv6/v7 coherent_user_range
        ...
      589bf8d5
    • Mike Frysinger's avatar
      USB: musb: invert arch depend string · e3c6f15f
      Mike Frysinger authored
      The MUSB code relies on platform implementations that currently only
      exists for Arm and Blackfin processors, so have the MUSB Kconfig depend
      upon those arches.
      
      This should prevent other arches from building MUSB via randconfig.
      Reported-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e3c6f15f