1. 06 5月, 2012 9 次提交
    • J
      vfs: Rename end_writeback() to clear_inode() · dbd5768f
      Jan Kara 提交于
      After we moved inode_sync_wait() from end_writeback() it doesn't make sense
      to call the function end_writeback() anymore. Rename it to clear_inode()
      which well says what the function really does - set I_CLEAR flag.
      Signed-off-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      dbd5768f
    • J
      vfs: Move waiting for inode writeback from end_writeback() to evict_inode() · 7994e6f7
      Jan Kara 提交于
      Currently, I_SYNC can never be set when evict_inode() (and thus
      end_writeback()) is called because flusher thread holds inode reference while
      inode is under writeback. As a result inode_sync_wait() in those places
      currently does nothing. However that is going to change and unveils problems
      with calling inode_sync_wait() from end_writeback(). Several filesystems call
      end_writeback() after they have deleted the inode (btrfs, gfs2, ...) and other
      filesystems (ext3, ext4, reiserfs, ...) can deadlock when waiting for I_SYNC
      because they call end_writeback() from within a transaction.
      
      To avoid these issues, we move inode_sync_wait() into evict_inode() before
      calling ->evict_inode(). That way we preserve the current property that
      ->evict_inode() and writeback never run in parallel and all filesystems are
      safe.
      Signed-off-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      7994e6f7
    • J
      writeback: Refactor writeback_single_inode() · 4f8ad655
      Jan Kara 提交于
      The code in writeback_single_inode() is relatively complex. The list requeing
      logic makes sense only for flusher thread but not really for sync_inode() or
      write_inode_now() callers. Also when we want to get rid of inode references
      held by flusher thread, we will need a special I_SYNC handling there.
      
      So separate part of writeback_single_inode() which does the real writeback work
      into __writeback_single_inode() and make writeback_single_inode() do only stuff
      necessary for callers writing only one inode, moving the special list handling
      into writeback_sb_inodes(). As a sideeffect this fixes a possible race where we
      could skip some inode during sync(2) because other writer refiled it from b_io
      to b_dirty list. Also I_SYNC handling is moved into the callers of
      __writeback_single_inode() to make locking easier.
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      4f8ad655
    • J
      writeback: Remove wb->list_lock from writeback_single_inode() · f0d07b7f
      Jan Kara 提交于
      writeback_single_inode() doesn't need wb->list_lock for anything on entry now.
      So remove the requirement. This makes locking of writeback_single_inode()
      temporarily awkward (entering with i_lock, returning with i_lock and
      wb->list_lock) but it will be sanitized in the next patch.
      
      Also inode_wait_for_writeback() doesn't need wb->list_lock for anything. It was
      just taking it to make usage convenient for callers but with
      writeback_single_inode() changing it's not very convenient anymore. So remove
      the lock from that function.
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      f0d07b7f
    • J
      writeback: Separate inode requeueing after writeback · ccb26b5a
      Jan Kara 提交于
      Move inode requeueing after inode has been written out into a separate
      function.
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      ccb26b5a
    • J
      writeback: Move I_DIRTY_PAGES handling · 6290be1c
      Jan Kara 提交于
      Instead of clearing I_DIRTY_PAGES and resetting it when we didn't succeed in
      writing them all, just clear the bit only when we succeeded writing all the
      pages. We also move the clearing of the bit close to other i_state handling to
      separate it from writeback list handling. This is desirable because list
      handling will differ for flusher thread and other writeback_single_inode()
      callers in future. No filesystem plays any tricks with I_DIRTY_PAGES (like
      checking it in ->writepages or ->write_inode implementation) so this movement
      is safe.
      Signed-off-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      6290be1c
    • J
      writeback: Move requeueing when I_SYNC set to writeback_sb_inodes() · cc1676d9
      Jan Kara 提交于
      When writeback_single_inode() is called on inode which has I_SYNC already
      set while doing WB_SYNC_NONE, inode is moved to b_more_io list. However
      this makes sense only if the caller is flusher thread. For other callers of
      writeback_single_inode() it doesn't really make sense and may be even wrong
      - flusher thread may be doing WB_SYNC_ALL writeback in parallel.
      
      So we move requeueing from writeback_single_inode() to writeback_sb_inodes().
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      cc1676d9
    • J
      writeback: Move clearing of I_SYNC into inode_sync_complete() · 365b94ae
      Jan Kara 提交于
      Move clearing of I_SYNC into inode_sync_complete().  It is more logical to have
      clearing of I_SYNC bit and waking of waiters in one place. Also later we will
      have two places needing to clear I_SYNC and wake up waiters so this allows them
      to use the common helper. Moving of I_SYNC clearing to a later stage of
      writeback_single_inode() is safe since we hold i_lock all the time.
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      365b94ae
    • F
      writeback: initialize global_dirty_limit · 68809c71
      Fengguang Wu 提交于
      This prevents global_dirty_limit from remaining 0 (the initial value)
      for long time, since it's only updated in update_dirty_limit() when
      above the dirty freerun area.
      
      It will avoid unexpected consequences when some random code use it as a
      convenient approximation of the global dirty threshold.
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      68809c71
  2. 25 4月, 2012 1 次提交
  3. 14 4月, 2012 16 次提交
    • H
      mm: page-writeback.c: local functions should not be exposed globally · 18cf8cf8
      H Hartley Sweeten 提交于
      The function global_dirtyable_memory is only referenced in this file and
      should be marked static to prevent it from being exposed globally.
      
      This quiets the sparse warning:
      
      warning: symbol 'global_dirtyable_memory' was not declared. Should it be static?
      Signed-off-by: NH Hartley Sweeten <hsweeten@visionengravers.com>
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      18cf8cf8
    • L
      Merge branch 'systemh-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · 668ce0ac
      Linus Torvalds 提交于
      Pull system.h fixups for less common arch's from Paul Gortmaker:
       "Here is what is hopefully the last of the system.h related fixups.
      
        The fixes for Alpha and ia64 are code relocations consistent with what
        was done for the more mainstream architectures.  Note that the
        diffstat lines removed vs lines added are not the same since I've
        fixed some of the whitespace issues in the relocated code blocks.
        However they are functionally the same.  Compile tested locally, plus
        these two have been in linux-next for a while.
      
        There is also a trivial one line system.h related fix for the Tilera
        arch from Chris Metcalf to fix an implict include.."
      
      * 'systemh-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
        irq_work: fix compile failure on tile from missing include
        ia64: populate the cmpxchg header with appropriate code
        alpha: fix build failures from system.h dismemberment
      668ce0ac
    • L
      Merge tag 'fbdev-fixes-for-3.4-1' of git://github.com/schandinat/linux-2.6 · a1c0cad3
      Linus Torvalds 提交于
      Pull fbdev fixes from Florian Tobias Schandinat:
       - a compile fix for au1*fb
       - a fix to make kyrofb usable on x86_64
       - a fix for uvesafb to prevent an oops due to NX-protection
      
       "The fix for kyrofb is a bit large but it's just replacing "unsigned
        long" by "u32" for 64 bit compatibility."
      
      * tag 'fbdev-fixes-for-3.4-1' of git://github.com/schandinat/linux-2.6:
        video:uvesafb: Fix oops that uvesafb try to execute NX-protected page
        fbdev: fix au1*fb builds
        kyrofb: fix on x86_64
      a1c0cad3
    • L
      Merge branch 'for-linus-min' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 659e45d8
      Linus Torvalds 提交于
      Pull the minimal btrfs branch from Chris Mason:
       "We have a use-after-free in there, along with errors when mount -o
        discard is enabled, and a BUG_ON(we should compile with UP more
        often)."
      
      * 'for-linus-min' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: use commit root when loading free space cache
        Btrfs: fix use-after-free in __btrfs_end_transaction
        Btrfs: check return value of bio_alloc() properly
        Btrfs: remove lock assert from get_restripe_target()
        Btrfs: fix eof while discarding extents
        Btrfs: fix uninit variable in repair_eb_io_failure
        Revert "Btrfs: increase the global block reserve estimates"
      659e45d8
    • L
      Merge branch 'for-3.4/drivers' of git://git.kernel.dk/linux-block · c104f1fa
      Linus Torvalds 提交于
      Pull block driver bits from Jens Axboe:
      
       - A series of fixes for mtip32xx.  Most from Asai at Micron, but also
         one from Greg, getting rid of the dependency on PCIE_HOTPLUG.
      
       - A few bug fixes for xen-blkfront, and blkback.
      
       - A virtio-blk fix for Vivek, making resize actually work.
      
       - Two fixes from Stephen, making larger transfers possible on cciss.
         This is needed for tape drive support.
      
      * 'for-3.4/drivers' of git://git.kernel.dk/linux-block:
        block: mtip32xx: remove HOTPLUG_PCI_PCIE dependancy
        mtip32xx: dump tagmap on failure
        mtip32xx: fix handling of commands in various scenarios
        mtip32xx: Shorten macro names
        mtip32xx: misc changes
        mtip32xx: Add new sysfs entry 'status'
        mtip32xx: make setting comp_time as common
        mtip32xx: Add new bitwise flag 'dd_flag'
        mtip32xx: fix error handling in mtip_init()
        virtio-blk: Call revalidate_disk() upon online disk resize
        xen/blkback: Make optional features be really optional.
        xen/blkback: Squash the discard support for 'file' and 'phy' type.
        mtip32xx: fix incorrect value set for drv_cleanup_done, and re-initialize and start port in mtip_restart_port()
        cciss: Fix scsi tape io with more than 255 scatter gather elements
        cciss: Initialize scsi host max_sectors for tape drive support
        xen-blkfront: make blkif_io_lock spinlock per-device
        xen/blkfront: don't put bdev right after getting it
        xen-blkfront: use bitmap_set() and bitmap_clear()
        xen/blkback: Enable blkback on HVM guests
        xen/blkback: use grant-table.c hypercall wrappers
      c104f1fa
    • L
      Merge branch 'for-3.4/core' of git://git.kernel.dk/linux-block · d8dd0b6d
      Linus Torvalds 提交于
      Pull block core bits from Jens Axboe:
       "It's a nice and quiet round this time, since most of the tricky stuff
        has been pushed to 3.5 to give it more time to mature.  After a few
        hectic block IO core changes for 3.3 and 3.2, I'm quite happy with a
        slow round.
      
        Really minor stuff in here, the only real functional change is making
        the auto-unplug threshold a per-queue entity.  The threshold is set so
        that it's low enough that we don't hold off IO for too long, but still
        big enough to get a nice benefit from the batched insert (and hence
        queue lock cost reduction).  For raid configurations, this currently
        breaks down."
      
      * 'for-3.4/core' of git://git.kernel.dk/linux-block:
        block: make auto block plug flush threshold per-disk based
        Documentation: Add sysfs ABI change for cfq's target latency.
        block: Make cfq_target_latency tunable through sysfs.
        block: use lockdep_assert_held for queue locking
        block: blk_alloc_queue_node(): use caller's GFP flags instead of GFP_KERNEL
      d8dd0b6d
    • K
      cpufreq: OMAP: fix build errors: depends on ARCH_OMAP2PLUS · 2d59dcfb
      Kevin Hilman 提交于
      The OMAP driver needs a 'depends on ARCH_OMAP2PLUS' since it only
      builds for OMAP2+ platforms.
      
      This 'depends on' was in the original patch from Russell King, but was
      erroneously removed by me when making this option user-selectable in
      commit b09db45c (cpufreq: OMAP driver depends CPUfreq tables.)  This
      patch remedies that.
      
      Apologies to Russell King for breaking his originally working patch.
      
      Also, thanks to Grazvydas Ignotas for reporting the same problem.
      
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Grazvydas Ignotas <notasas@gmail.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2d59dcfb
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 7d93101f
      Linus Torvalds 提交于
      Pull sparc fixes from David Miller.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Eliminate obsolete __handle_softirq() function
        sparc64: Fix bootup crash on sun4v.
      7d93101f
    • L
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 6e117339
      Linus Torvalds 提交于
      Pull hwmon patches from Guenter Roeck:
       "Fix build warnings in four drivers"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (pmbus_core) Fix compiler warning
        hwmon: (smsc47m1) Fix compiler warning
        hwmon: (acpi_power_meter) Fix compiler warning seen in some configurations
        hwmon: (smsc47b397) Fix compiler warning
      6e117339
    • L
      Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6 · 461c1491
      Linus Torvalds 提交于
      Pull GPIO bug fixes from Grant Likely:
       "Miscellaneous bug fixes to GPIO drivers and for a corner case in the
        gpio device tree parsing code."
      
      * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6:
        gpio/exynos: Fix compiler warning in gpio-samsung.c file
        gpio: Fix range check in of_gpio_simple_xlate()
        gpio: Fix uninitialized variable bit in adp5588_irq_handler
        gpio/sodaville: Convert sodaville driver to new irqdomain API
      461c1491
    • L
      Merge tag 'spi-for-linus' of git://git.secretlab.ca/git/linux-2.6 · cf7d8a55
      Linus Torvalds 提交于
      Pull SPI bug fixes from Grant Likely:
       "Miscellaneous driver bug fixes.  No major changes in this branch."
      
      * tag 'spi-for-linus' of git://git.secretlab.ca/git/linux-2.6:
        spi/imx: prevent NULL pointer dereference in spi_imx_probe()
        spi/imx: mark base member in spi_imx_data as __iomem
        spi/mpc83xx: fix NULL pdata dereference bug
        spi/davinci: Fix DMA API usage in davinci
        spi/pL022: include types.h to remove compilation warnings
      cf7d8a55
    • P
      sparc64: Eliminate obsolete __handle_softirq() function · 3d3eeb2e
      Paul E. McKenney 提交于
      The invocation of softirq is now handled by irq_exit(), so there is no
      need for sparc64 to invoke it on the trap-return path.  In fact, doing so
      is a bug because if the trap occurred in the idle loop, this invocation
      can result in lockdep-RCU failures.  The problem is that RCU ignores idle
      CPUs, and the sparc64 trap-return path to the softirq handlers fails to
      tell RCU that the CPU must be considered non-idle while those handlers
      are executing.  This means that RCU is ignoring any RCU read-side critical
      sections in those handlers, which in turn means that RCU-protected data
      can be yanked out from under those read-side critical sections.
      
      The shiny new lockdep-RCU ability to detect RCU read-side critical sections
      that RCU is ignoring located this problem.
      
      The fix is straightforward: Make sparc64 stop manually invoking the
      softirq handlers.
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Suggested-by: NDavid Miller <davem@davemloft.net>
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Tested-by: NMeelis Roos <mroos@linux.ee>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3d3eeb2e
    • D
      sparc64: Fix bootup crash on sun4v. · 9e0daff3
      David S. Miller 提交于
      The DS driver registers as a subsys_initcall() but this can be too
      early, in particular this risks registering before we've had a chance
      to allocate and setup module_kset in kernel/params.c which is
      performed also as a subsyts_initcall().
      
      Register DS using device_initcall() insteal.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Cc: stable@vger.kernel.org
      9e0daff3
    • C
      irq_work: fix compile failure on tile from missing include · ef1f0982
      Chris Metcalf 提交于
      Building with IRQ_WORK configured results in
      
      kernel/irq_work.c: In function ‘irq_work_run’:
      kernel/irq_work.c:110: error: implicit declaration of function ‘irqs_disabled’
      
      The appropriate header just needs to be included.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      ef1f0982
    • P
      ia64: populate the cmpxchg header with appropriate code · 85f8f775
      Paul Gortmaker 提交于
      commit 93f37888
      
          "Fix ia64 build errors (fallout from system.h disintegration)"
      
      introduced arch/ia64/include/asm/cmpxchg.h as a temporary
      build fix and stated:
      
          "... leave the migration of xchg() and cmpxchg() to this new
           header file for a future patch."
      
      Migrate the appropriate chunks from asm/intrinsics.h and fix
      the whitespace issues in the migrated chunk.
      
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: David Howells <dhowells@redhat.com>
      Acked-by: NTony Luck <tony.luck@intel.com>
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      85f8f775
    • P
      alpha: fix build failures from system.h dismemberment · 5ba840f9
      Paul Gortmaker 提交于
      commit ec221208
      
          "Disintegrate asm/system.h for Alpha"
      
      combined with commit b4816afa
      
          "Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h"
      
      introduced the concept of asm/cmpxchg.h but the alpha arch
      never got one.  Fork the cmpxchg content out of the asm/atomic.h
      file to create one.
      
      Some minor whitespace fixups were done on the block of code that
      created the new file.
      
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: David Howells <dhowells@redhat.com>
      Acked-by: NMatt Turner <mattst88@gmail.com>
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      5ba840f9
  4. 13 4月, 2012 14 次提交
    • L
      Merge tag 'srpt-srq-type' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 4166fb64
      Linus Torvalds 提交于
      Pull infiniband fix from Roland Dreier:
       "Add a fix for a bug hit by Alexey Shvetsov in ib_srtp that hits on
        non-mlx4 hardware."
      
      * tag 'srpt-srq-type' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        IB/srpt: Set srq_type to IB_SRQT_BASIC
      4166fb64
    • P
      kconfig: delete last traces of __enabled_ from autoconf.h · e4757cab
      Paul Gortmaker 提交于
      We've now fixed IS_ENABLED() and friends to not require any special
      "__enabled_" prefixed versions of the normal Kconfig options, so delete
      the last traces of them being generated.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e4757cab
    • P
      Revert "kconfig: fix __enabled_ macros definition for invisible and un-selected symbols" · a9596135
      Paul Gortmaker 提交于
      This reverts commit 953742c8.
      
      Dumping two lines into autoconf.h for all existing Kconfig options
      results in a giant file (~16k lines) we have to process each time we
      compile something.  We've weaned IS_ENABLED() and similar off of
      requiring the __enabled_ definitions so now we can revert the change
      which caused all the extra lines.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a9596135
    • P
      kconfig: fix IS_ENABLED to not require all options to be defined · 69349c2d
      Paul Gortmaker 提交于
      Using IS_ENABLED() within C (vs.  within CPP #if statements) in its
      current form requires us to actually define every possible bool/tristate
      Kconfig option twice (__enabled_* and __enabled_*_MODULE variants).
      
      This results in a huge autoconf.h file, on the order of 16k lines for a
      x86_64 defconfig.
      
      Fixing IS_ENABLED to be able to work on the smaller subset of just
      things that we really have defined is step one to fixing this.  Which
      means it has to not choke when fed non-enabled options, such as:
      
        include/linux/netdevice.h:964:1: warning: "__enabled_CONFIG_FCOE_MODULE" is not defined [-Wundef]
      
      The original prototype of how to implement a C and preprocessor
      compatible way of doing this came from the Google+ user "comex ." in
      response to Linus' crowdsourcing challenge for a possible improvement on
      his earlier C specific solution:
      
      	#define config_enabled(x)       (__stringify(x)[0] == '1')
      
      In this implementation, I've chosen variable names that hopefully make
      how it works more understandable.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      69349c2d
    • J
      Btrfs: use commit root when loading free space cache · d53ba474
      Josef Bacik 提交于
      A user reported that booting his box up with btrfs root on 3.4 was way
      slower than on 3.3 because I removed the ideal caching code.  It turns out
      that we don't load the free space cache if we're in a commit for deadlock
      reasons, but since we're reading the cache and it hasn't changed yet we are
      safe reading the inode and free space item from the commit root, so do that
      and remove all of the deadlock checks so we don't unnecessarily skip loading
      the free space cache.  The user reported this fixed the slowness.  Thanks,
      Tested-by: NCalvin Walton <calvin.walton@kepstin.ca>
      Signed-off-by: NJosef Bacik <josef@redhat.com>
      Signed-off-by: NChris Mason <chris.mason@oracle.com>
      d53ba474
    • L
      Merge tag 'usb-3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 7c427f45
      Linus Torvalds 提交于
      Pull USB fixes from Greg KH:
       "Here are a number of fixes for the USB core and drivers for 3.4-rc2
      
        Lots of tiny xhci fixes here, a few usb-serial driver fixes and new
        device ids, and a smattering of other minor fixes in different USB
        drivers.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'usb-3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (30 commits)
        USB: update usbtmc api documentation
        xHCI: Correct the #define XHCI_LEGACY_DISABLE_SMI
        xHCI: use gfp flags from caller instead of GFP_ATOMIC
        xHCI: add XHCI_RESET_ON_RESUME quirk for VIA xHCI host
        USB: fix bug of device descriptor got from superspeed device
        xhci: Fix register save/restore order.
        xhci: Restore event ring dequeue pointer on resume.
        xhci: Don't write zeroed pointers to xHC registers.
        xhci: Warn when hosts don't halt.
        xhci: don't re-enable IE constantly
        usb: xhci: fix section mismatch in linux-next
        xHCI: correct to print the true HSEE of USBCMD
        USB: serial: fix race between probe and open
        UHCI: hub_status_data should indicate if ports are resuming
        EHCI: keep track of ports being resumed and indicate in hub_status_data
        USB: fix race between root-hub suspend and remote wakeup
        USB: sierra: add support for Sierra Wireless MC7710
        USB: ftdi_sio: fix race condition in TIOCMIWAIT, and abort of TIOCMIWAIT when the device is removed
        USB: ftdi_sio: fix status line change handling for TIOCMIWAIT and TIOCGICOUNT
        USB: don't ignore suspend errors for root hubs
        ...
      7c427f45
    • L
      Merge tag 'tty-3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · f4f9c1ac
      Linus Torvalds 提交于
      Pull tty and serial fixes from Greg KH:
       "Here are some tty and serial fixes for 3.4-rc2.
      
        Most important here is the pl011 fix, which has been reported by about
        100 different people, which means more people use it than I expected
        :)
      
        There are also some 8250 driver reverts due to some problems reported
        by them.  And other minor fixes as well.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'tty-3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        pch_uart: Add Kontron COMe-mTT10 uart clock quirk
        pch_uart: Fix MSI setting issue
        serial/8250_pci: add a "force background timer" flag and use it for the "kt" serial port
        Revert "serial/8250_pci: setup-quirk workaround for the kt serial controller"
        Revert "serial/8250_pci: init-quirk msi support for kt serial controller"
        tty/serial/omap: console can only be built-in
        serial: samsung: fix omission initialize ulcon in reset port fn()
        printk(): add KERN_CONT where needed in hpet and vt code
        tty/serial: atmel_serial: fix RS485 half-duplex problem
        tty: serial: altera_uart: Check for NULL platform_data in probe.
        isdn/gigaset: use gig_dbg() for debugging output
        omap-serial: Fix the error handling in the omap_serial probe
        serial: PL011: move interrupt clearing
      f4f9c1ac
    • L
      Merge tag 'staging-3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 3dbc35a3
      Linus Torvalds 提交于
      Pull staging tree fixes from Greg KH:
       "Here are a number of bugfixes for the drivers/staging/ portion of the
        kernel that have been reported recently.
      
        Nothing major here, with maybe the exception of the ramster code can
        now be built so it is enabled in the build again, and lots of memory
        leaks that people like to have fixed on their systems.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'staging-3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: android: fix mem leaks in __persistent_ram_init()
        staging: vt6656: Don't leak memory in drivers/staging/vt6656/ioctl.c::private_ioctl()
        staging: iio: hmc5843: Fix crash in probe function.
        staging/xgifb: fix display on XGI Volari Z11m cards
        Staging: android: timed_gpio: Fix resource leak in timed_gpio_probe error paths
        android: make persistent_ram based drivers depend on HAVE_MEMBLOCK
        staging: iio: ak8975: Remove i2c client data corruption
        staging: drm/omap: move where DMM driver is registered
        staging: zsmalloc: fix memory leak
        Staging: rts_pstor: off by one in for loop
        staging: ozwpan: Added new maintainer for ozwpan
        staging:rts_pstor:Avoid "Bad target number" message when probing driver
        staging:rts_pstor:Fix possible panic by NULL pointer dereference
        Staging: vt6655-6: check keysize before memcpy()
        staging/media/as102: Don't call release_firmware() on uninitialized variable
        staging:iio:core add missing increment of loop index in iio_map_array_unregister()
        staging: ramster: unbreak my heart
        staging/vme: Fix module parameters
        staging: sep: Fix sign of error
      3dbc35a3
    • L
      Merge tag 'driver-core-3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · f5ad5010
      Linus Torvalds 提交于
      Pull driver core and kobject fixes from Greg KH:
       "Here are some minor fixes for the driver core and kobjects that people
        have reported recently.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'driver-core-3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        kobject: provide more diagnostic info for kobject_add_internal() failures
        sysfs: handle 'parent deleted before child added'
        sysfs: Prevent crash on unset sysfs group attributes
        sysfs: Update the name hash for an entry after changing the namespace
        drivers/base: fix compiler warning in SoC export driver - idr should be ida
        drivers/base: Remove unneeded spin_lock_init call for soc_lock
      f5ad5010
    • L
      Merge tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux-2.6 · b3dfd76c
      Linus Torvalds 提交于
      Pull a fix for the recent irqdomain bug fixes from Grant Likely:
       "I flubbed one patch in the last pull request which broke a format
        string on 64 bit platforms.  Here's the fix."
      
      * tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux-2.6:
        irq_domain: fix type mismatch in debugfs output format
      b3dfd76c
    • G
      irq_domain: fix type mismatch in debugfs output format · 5269a9ab
      Grant Likely 提交于
      sizeof(void*) returns an unsigned long, but it was being used as a width parameter to a "%-*s" format string which requires an int.  On 64 bit platforms this causes a type mismatch:
      
          linux/kernel/irq/irqdomain.c:575: warning: field width should have type
          'int', but argument 6 has type 'long unsigned int'
      
      This change casts the size to an int so printf gets the right data type.
      Reported-by: NAndreas Schwab <schwab@linux-m68k.org>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: David Daney <david.daney@cavium.com>
      5269a9ab
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9b1ef1de
      Linus Torvalds 提交于
      Pull trivial perf build failure fix from Thomas Gleixner.
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf tools: Fix getrusage() related build failure on glibc trunk
      9b1ef1de
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ccb1ec95
      Linus Torvalds 提交于
      Pull timer fixes from Thomas Gleixner:
       "The itimer removal one is not strictly a fix, but I really wanted to
        avoid a rebase of the urgent ones."
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "clocksource: Load the ACPI PM clocksource asynchronously"
        clockevents: tTack broadcast device mode change in tick_broadcast_switch_to_oneshot()
        itimer: Use printk_once instead of WARN_ONCE
        nohz: Fix stale jiffies update in tick_nohz_restart()
        tick: Document TICK_ONESHOT config option
        proc: stats: Use arch_idle_time for idle and iowait times if available
        itimer: Schedule silent NULL pointer fixup in setitimer() for removal
      ccb1ec95
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4a1d7544
      Linus Torvalds 提交于
      Pull x86 fixes from Thomas Gleixner.
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Use correct byte-sized register constraint in __add()
        x86: Use correct byte-sized register constraint in __xchg_op()
        x86: vsyscall: Use NULL instead 0 for a pointer argument
      4a1d7544