1. 23 6月, 2014 1 次提交
    • T
      blkcg: fix use-after-free in __blkg_release_rcu() by making blkcg_gq refcnt an atomic_t · a5049a8a
      Tejun Heo 提交于
      Hello,
      
      So, this patch should do.  Joe, Vivek, can one of you guys please
      verify that the oops goes away with this patch?
      
      Jens, the original thread can be read at
      
        http://thread.gmane.org/gmane.linux.kernel/1720729
      
      The fix converts blkg->refcnt from int to atomic_t.  It does some
      overhead but it should be minute compared to everything else which is
      going on and the involved cacheline bouncing, so I think it's highly
      unlikely to cause any noticeable difference.  Also, the refcnt in
      question should be converted to a perpcu_ref for blk-mq anyway, so the
      atomic_t is likely to go away pretty soon anyway.
      
      Thanks.
      
      ------- 8< -------
      __blkg_release_rcu() may be invoked after the associated request_queue
      is released with a RCU grace period inbetween.  As such, the function
      and callbacks invoked from it must not dereference the associated
      request_queue.  This is clearly indicated in the comment above the
      function.
      
      Unfortunately, while trying to fix a different issue, 2a4fd070
      ("blkcg: move bulk of blkcg_gq release operations to the RCU
      callback") ignored this and added [un]locking of @blkg->q->queue_lock
      to __blkg_release_rcu().  This of course can cause oops as the
      request_queue may be long gone by the time this code gets executed.
      
        general protection fault: 0000 [#1] SMP
        CPU: 21 PID: 30 Comm: rcuos/21 Not tainted 3.15.0 #1
        Hardware name: Stratus ftServer 6400/G7LAZ, BIOS BIOS Version 6.3:57 12/25/2013
        task: ffff880854021de0 ti: ffff88085403c000 task.ti: ffff88085403c000
        RIP: 0010:[<ffffffff8162e9e5>]  [<ffffffff8162e9e5>] _raw_spin_lock_irq+0x15/0x60
        RSP: 0018:ffff88085403fdf0  EFLAGS: 00010086
        RAX: 0000000000020000 RBX: 0000000000000010 RCX: 0000000000000000
        RDX: 000060ef80008248 RSI: 0000000000000286 RDI: 6b6b6b6b6b6b6b6b
        RBP: ffff88085403fdf0 R08: 0000000000000286 R09: 0000000000009f39
        R10: 0000000000020001 R11: 0000000000020001 R12: ffff88103c17a130
        R13: ffff88103c17a080 R14: 0000000000000000 R15: 0000000000000000
        FS:  0000000000000000(0000) GS:ffff88107fca0000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: 00000000006e5ab8 CR3: 000000000193d000 CR4: 00000000000407e0
        Stack:
         ffff88085403fe18 ffffffff812cbfc2 ffff88103c17a130 0000000000000000
         ffff88103c17a130 ffff88085403fec0 ffffffff810d1d28 ffff880854021de0
         ffff880854021de0 ffff88107fcaec58 ffff88085403fe80 ffff88107fcaec30
        Call Trace:
         [<ffffffff812cbfc2>] __blkg_release_rcu+0x72/0x150
         [<ffffffff810d1d28>] rcu_nocb_kthread+0x1e8/0x300
         [<ffffffff81091d81>] kthread+0xe1/0x100
         [<ffffffff8163813c>] ret_from_fork+0x7c/0xb0
        Code: ff 47 04 48 8b 7d 08 be 00 02 00 00 e8 55 48 a4 ff 5d c3 0f 1f 00 66 66 66 66 90 55 48 89 e5
        +fa 66 66 90 66 66 90 b8 00 00 02 00 <f0> 0f c1 07 89 c2 c1 ea 10 66 39 c2 75 02 5d c3 83 e2 fe 0f
        +b7
        RIP  [<ffffffff8162e9e5>] _raw_spin_lock_irq+0x15/0x60
         RSP <ffff88085403fdf0>
      
      The request_queue locking was added because blkcg_gq->refcnt is an int
      protected with the queue lock and __blkg_release_rcu() needs to put
      the parent.  Let's fix it by making blkcg_gq->refcnt an atomic_t and
      dropping queue locking in the function.
      
      Given the general heavy weight of the current request_queue and blkcg
      operations, this is unlikely to cause any noticeable overhead.
      Moreover, blkcg_gq->refcnt is likely to be converted to percpu_ref in
      the near future, so whatever (most likely negligible) overhead it may
      add is temporary.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reported-by: NJoe Lawrence <joe.lawrence@stratus.com>
      Acked-by: NVivek Goyal <vgoyal@redhat.com>
      Link: http://lkml.kernel.org/g/alpine.DEB.2.02.1406081816540.17948@jlaw-desktop.mno.stratus.com
      Cc: stable@vger.kernel.org
      Signed-off-by: NJens Axboe <axboe@fb.com>
      a5049a8a
  2. 19 6月, 2014 1 次提交
  3. 18 6月, 2014 5 次提交
  4. 17 6月, 2014 1 次提交
  5. 14 6月, 2014 2 次提交
  6. 12 6月, 2014 7 次提交
    • M
      block: remove WQ_POWER_EFFICIENT from kblockd · 28747fcd
      Matias Bjørling 提交于
      blk-mq issues async requests through kblockd. To issue a work request on
      a specific CPU, kblockd_schedule_delayed_work_on is used. However, the
      specific CPU choice may not be honored, if the power_efficient option
      for workqueues is set. blk-mq requires that we have strict per-cpu
      scheduling, so it wont work properly if kblockd is marked
      POWER_EFFICIENT and power_efficient is set.
      
      Remove the kblockd WQ_POWER_EFFICIENT flag to prevent this behavior.
      This essentially reverts part of commit 695588f9, which added
      the WQ_POWER_EFFICIENT marker to kblockd.
      Signed-off-by: NMatias Bjørling <m@bjorling.me>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      28747fcd
    • M
      null_blk: fix name and description of 'queue_mode' module parameter · 54ae81cd
      Mike Snitzer 提交于
      'use_mq' is not the name of the module parameter, 'queue_mode' is.
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      54ae81cd
    • C
      block: remove elv_abort_queue and blk_abort_flushes · 2940474a
      Christoph Hellwig 提交于
      elv_abort_queue has no callers, and blk_abort_flushes is only called by
      elv_abort_queue.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      2940474a
    • L
      Merge tag 'soc2-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2dc24b0d
      Linus Torvalds 提交于
      Pull part two of ARM SoC updates from Arnd Bergmann:
       "This is a small follow-up to the larger ARM SoC updates merged last
        week, almost entirely for the keystone platform.
      
        The main change here is to use the new dma-ranges parsing code that
        came in through Russell's ARM tree.  This allows the keystone platform
        to do cache-coherent DMA and to finally support all the available
        physical memory when LPAE is enabled.
      
        Aside from this, the keystone reset driver has been rewritten, and
        there is a small bug fix to allow building the orion5x platform again"
      
      * tag 'soc2-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: keystone: Drop use of meminfo since its not available anymore
        ARM: orion5x: fix mvebu_mbus_dt_init call
        ARM: configs: keystone: enable reset driver support
        ARM: dts: keystone: update reset node to work with reset driver
        ARM: keystone: remove redundant reset stuff
        ARM: keystone: Update the dma offset for non-dt platform devices
        ARM: keystone: Switch over to coherent memory address space
        ARM: configs: keystone: add MTD_SPI_NOR (new dependency for M25P80)
        ARM: configs: keystone: drop CONFIG_COMMON_CLK_DEBUG
      2dc24b0d
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 2840c566
      Linus Torvalds 提交于
      Pull reiserfs and ext3 changes from Jan Kara:
       "Big reiserfs cleanup from Jeff, an ext3 deadlock fix, and some small
        cleanups"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: (34 commits)
        reiserfs: Fix compilation breakage with CONFIG_REISERFS_CHECK
        ext3: Fix deadlock in data=journal mode when fs is frozen
        reiserfs: call truncate_setsize under tailpack mutex
        fs/jbd/revoke.c: replace shift loop by ilog2
        reiserfs: remove obsolete __constant_cpu_to_le32
        reiserfs: balance_leaf refactor, split up balance_leaf_when_delete
        reiserfs: balance_leaf refactor, format balance_leaf_finish_node
        reiserfs: balance_leaf refactor, format balance_leaf_new_nodes_paste
        reiserfs: balance_leaf refactor, format balance_leaf_paste_right
        reiserfs: balance_leaf refactor, format balance_leaf_insert_right
        reiserfs: balance_leaf refactor, format balance_leaf_paste_left
        reiserfs: balance_leaf refactor, format balance_leaf_insert_left
        reiserfs: balance_leaf refactor, pull out balance_leaf{left, right, new_nodes, finish_node}
        reiserfs: balance_leaf refactor, pull out balance_leaf_finish_node_paste
        reiserfs: balance_leaf refactor pull out balance_leaf_finish_node_insert
        reiserfs: balance_leaf refactor, pull out balance_leaf_new_nodes_paste
        reiserfs: balance_leaf refactor, pull out balance_leaf_new_nodes_insert
        reiserfs: balance_leaf refactor, pull out balance_leaf_paste_right
        reiserfs: balance_leaf refactor, pull out balance_leaf_insert_right
        reiserfs: balance_leaf refactor, pull out balance_leaf_paste_left
        ...
      2840c566
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 859862dd
      Linus Torvalds 提交于
      Pull btrfs updates from Chris Mason:
       "The biggest change here is Josef's rework of the btrfs quota
        accounting, which improves the in-memory tracking of delayed extent
        operations.
      
        I had been working on Btrfs stack usage for a while, mostly because it
        had become impossible to do long stress runs with slab, lockdep and
        pagealloc debugging turned on without blowing the stack.  Even though
        you upgraded us to a nice king sized stack, I kept most of the
        patches.
      
        We also have some very hard to find corruption fixes, an awesome sysfs
        use after free, and the usual assortment of optimizations, cleanups
        and other fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (80 commits)
        Btrfs: convert smp_mb__{before,after}_clear_bit
        Btrfs: fix scrub_print_warning to handle skinny metadata extents
        Btrfs: make fsync work after cloning into a file
        Btrfs: use right type to get real comparison
        Btrfs: don't check nodes for extent items
        Btrfs: don't release invalid page in btrfs_page_exists_in_range()
        Btrfs: make sure we retry if page is a retriable exception
        Btrfs: make sure we retry if we couldn't get the page
        btrfs: replace EINVAL with EOPNOTSUPP for dev_replace raid56
        trivial: fs/btrfs/ioctl.c: fix typo s/substract/subtract/
        Btrfs: fix leaf corruption after __btrfs_drop_extents
        Btrfs: ensure btrfs_prev_leaf doesn't miss 1 item
        Btrfs: fix clone to deal with holes when NO_HOLES feature is enabled
        btrfs: free delayed node outside of root->inode_lock
        btrfs: replace EINVAL with ERANGE for resize when ULLONG_MAX
        Btrfs: fix transaction leak during fsync call
        btrfs: Avoid trucating page or punching hole in a already existed hole.
        Btrfs: update commit root on snapshot creation after orphan cleanup
        Btrfs: ioctl, don't re-lock extent range when not necessary
        Btrfs: avoid visiting all extent items when cloning a range
        ...
      859862dd
    • L
      Merge tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs · 412dd3a6
      Linus Torvalds 提交于
      Pull xfs updates from Dave Chinner:
       "This update contains:
         - cleanup removing unused function args
         - rework of the filestreams allocator to use dentry cache parent
           lookups
         - new on-disk free inode btree and optimised inode allocator
         - various bug fixes
         - rework of internal attribute API
         - cleanup of superblock feature bit support to remove historic cruft
         - more fixes and minor cleanups
         - added a new directory/attribute geometry abstraction
         - yet more fixes and minor cleanups"
      
      * tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs: (86 commits)
        xfs: fix xfs_da_args sparse warning in xfs_readdir
        xfs: Fix rounding in xfs_alloc_fix_len()
        xfs: tone down writepage/releasepage WARN_ONs
        xfs: small cleanup in xfs_lowbit64()
        xfs: kill xfs_buf_geterror()
        xfs: xfs_readsb needs to check for magic numbers
        xfs: block allocation work needs to be kswapd aware
        xfs: remove redundant geometry information from xfs_da_state
        xfs: replace attr LBSIZE with xfs_da_geometry
        xfs: pass xfs_da_args to xfs_attr_leaf_newentsize
        xfs: use xfs_da_geometry for block size in attr code
        xfs: remove mp->m_dir_geo from directory logging
        xfs: reduce direct usage of mp->m_dir_geo
        xfs: move node entry counts to xfs_da_geometry
        xfs: convert dir/attr btree threshold to xfs_da_geometry
        xfs: convert m_dirblksize to xfs_da_geometry
        xfs: convert m_dirblkfsbs to xfs_da_geometry
        xfs: convert directory segment limits to xfs_da_geometry
        xfs: convert directory db conversion to xfs_da_geometry
        xfs: convert directory dablk conversion to xfs_da_geometry
        ...
      412dd3a6
  7. 11 6月, 2014 23 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 23d4ed53
      Linus Torvalds 提交于
      Pull block layer fixes from Jens Axboe:
       "Final small batch of fixes to be included before -rc1.  Some general
        cleanups in here as well, but some of the blk-mq fixes we need for the
        NVMe conversion and/or scsi-mq.  The pull request contains:
      
         - Support for not merging across a specified "chunk size", if set by
           the driver.  Some NVMe devices perform poorly for IO that crosses
           such a chunk, so we need to support it generically as part of
           request merging avoid having to do complicated split logic.  From
           me.
      
         - Bump max tag depth to 10Ki tags.  Some scsi devices have a huge
           shared tag space.  Before we failed with EINVAL if a too large tag
           depth was specified, now we truncate it and pass back the actual
           value.  From me.
      
         - Various blk-mq rq init fixes from me and others.
      
         - A fix for enter on a dying queue for blk-mq from Keith.  This is
           needed to prevent oopsing on hot device removal.
      
         - Fixup for blk-mq timer addition from Ming Lei.
      
         - Small round of performance fixes for mtip32xx from Sam Bradshaw.
      
         - Minor stack leak fix from Rickard Strandqvist.
      
         - Two __init annotations from Fabian Frederick"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: add __init to blkcg_policy_register
        block: add __init to elv_register
        block: ensure that bio_add_page() always accepts a page for an empty bio
        blk-mq: add timer in blk_mq_start_request
        blk-mq: always initialize request->start_time
        block: blk-exec.c: Cleaning up local variable address returnd
        mtip32xx: minor performance enhancements
        blk-mq: ->timeout should be cleared in blk_mq_rq_ctx_init()
        blk-mq: don't allow queue entering for a dying queue
        blk-mq: bump max tag depth to 10K tags
        block: add blk_rq_set_block_pc()
        block: add notion of a chunk size for request merging
      23d4ed53
    • L
      Merge tag 'for-linus-20140610' of git://git.infradead.org/linux-mtd · e413a19a
      Linus Torvalds 提交于
      Pull MTD updates from Brian Norris:
       - refactor m25p80.c driver for use as a general SPI NOR framework for
         other drivers which may speak to SPI NOR flash without providing full
         SPI support (i.e., not part of drivers/spi/)
       - new Freescale QuadSPI driver (utilizing new SPI NOR framework)
       - updates for the STMicro "FSM" SPI NOR driver
       - fix sync/flush behavior on mtd_blkdevs
       - fixup subpage write support on a few NAND drivers
       - correct the MTD OOB test for odd-sized OOB areas
       - add BCH-16 support for OMAP NAND
       - fix warnings and trivial refactoring
       - utilize new ECC DT bindings in pxa3xx NAND driver
       - new LPDDR NVM driver
       - address a few assorted bugs caught by Coverity
       - add new imx6sx support for GPMI NAND
       - use a bounce buffer for NAND when non-DMA-able buffers are used
      
      * tag 'for-linus-20140610' of git://git.infradead.org/linux-mtd: (77 commits)
        mtd: gpmi: add gpmi support for imx6sx
        mtd: maps: remove check for CONFIG_MTD_SUPERH_RESERVE
        mtd: bf5xx_nand: use the managed version of kzalloc
        mtd: pxa3xx_nand: make the driver work on big-endian systems
        mtd: nand: omap: fix omap_calculate_ecc_bch() for-loop error
        mtd: nand: r852: correct write_buf loop bounds
        mtd: nand_bbt: handle error case for nand_create_badblock_pattern()
        mtd: nand_bbt: remove unused variable
        mtd: maps: sc520cdp: fix warnings
        mtd: slram: fix unused variable warning
        mtd: pfow: remove unused variable
        mtd: lpddr: fix Kconfig dependency, for I/O accessors
        mtd: nand: pxa3xx: Add supported ECC strength and step size to the DT binding
        mtd: nand: pxa3xx: Use ECC strength and step size devicetree binding
        mtd: nand: pxa3xx: Clean pxa_ecc_init() error handling
        mtd: nand: Warn the user if the selected ECC strength is too weak
        mtd: nand: omap: Documentation: How to select correct ECC scheme for your device ?
        mtd: nand: omap: add support for BCH16_ECC - NAND driver updates
        mtd: nand: omap: add support for BCH16_ECC - ELM driver updates
        mtd: nand: omap: add support for BCH16_ECC - GPMC driver updates
        ...
      e413a19a
    • L
      Merge tag 'md/3.16' of git://neil.brown.name/md · 8d0304e6
      Linus Torvalds 提交于
      Pull md updates from Neil Brown:
       "Assorted md fixes for 3.16
      
        Mostly performance improvements with a few corner-case bug fixes"
      
      * tag 'md/3.16' of git://neil.brown.name/md:
        raid5: speedup sync_request processing
        md/raid5: deadlock between retry_aligned_read with barrier io
        raid5: add an option to avoid copy data from bio to stripe cache
        md/bitmap: remove confusing code from filemap_get_page.
        raid5: avoid release list until last reference of the stripe
        md: md_clear_badblocks should return an error code on failure.
        md/raid56: Don't perform reads to support writes until stripe is ready.
        md: refuse to change shape of array if it is active but read-only
      8d0304e6
    • J
      reiserfs: Fix compilation breakage with CONFIG_REISERFS_CHECK · 19ef1229
      Jan Kara 提交于
      There was a bug in debug printout when CONFIG_REISERFS_CHECK was
      enabled so one of the assertions in do_balan.c didn't compile. Fix it.
      
      Fixes: 0080e9f9Signed-off-by: NJan Kara <jack@suse.cz>
      19ef1229
    • B
      Merge MTD pullreq from 3.15-rc5 · f1900c79
      Brian Norris 提交于
      f1900c79
    • L
      Merge git://www.linux-watchdog.org/linux-watchdog · dfb94547
      Linus Torvalds 提交于
      Pull watchdog updates from Wim Van Sebroeck:
       "This contains:
         - addition of the Intel MID watchdog
         - removal of W83697HF and W83697UG drivers (code was merged into
           w83627hf_wdt driver)
         - addition of Armada 375/380 SoC support
         - conversion of imx2_wdt to regmap API and to watchdog core API
         - lots of other small improvements and fixes"
      
      [ Wim was also tagged by gmail as a spammer, but not delayed by days
        unlike Ben ]
      
      * git://www.linux-watchdog.org/linux-watchdog: (25 commits)
        x86: intel-mid: add watchdog platform code for Merrifield
        watchdog: add Intel MID watchdog driver support
        watchdog: sp805: Set watchdog_device->timeout from ->set_timeout()
        booke/watchdog: refine and clean up the codes
        watchdog: iop_wdt only builds for mach-iop13xx
        watchdog: Remove drivers for W83697HF and W83697UG
        watchdog: w83627hf_wdt: Add early_disable module parameter
        ARM: mvebu: Add A375/A380 watchdog binding documentation
        watchdog: orion: Add Armada 375/380 SoC support
        watchdog: orion: Introduce per-SoC enabled() function
        watchdog: orion: Introduce per-SoC stop() function
        watchdog: orion: Remove unneeded atomic access
        watchdog: orion: Introduce a SoC-specific RSTOUT mapping
        watchdog: orion: Move the register ioremap'ing to its own function
        watchdog: xilinx: Make of_device_id array const
        watchdog: imx2_wdt: convert to watchdog core api
        watchdog: imx2_wdt: convert to use regmap API.
        watchdog: imx2_wdt: Sort the header files alphabetically
        watchdog: ath79_wdt: switch to clk_prepare/clk_disable
        watchdog: ath79_wdt: avoid spurious restarts on AR934x
        ...
      dfb94547
    • L
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · c5aec4c7
      Linus Torvalds 提交于
      Pull powerpc updates from Ben Herrenschmidt:
       "Here is the bulk of the powerpc changes for this merge window.  It got
        a bit delayed in part because I wasn't paying attention, and in part
        because I discovered I had a core PCI change without a PCI maintainer
        ack in it.  Bjorn eventually agreed it was ok to merge it though we'll
        probably improve it later and I didn't want to rebase to add his ack.
      
        There is going to be a bit more next week, essentially fixes that I
        still want to sort through and test.
      
        The biggest item this time is the support to build the ppc64 LE kernel
        with our new v2 ABI.  We previously supported v2 userspace but the
        kernel itself was a tougher nut to crack.  This is now sorted mostly
        thanks to Anton and Rusty.
      
        We also have a fairly big series from Cedric that add support for
        64-bit LE zImage boot wrapper.  This was made harder by the fact that
        traditionally our zImage wrapper was always 32-bit, but our new LE
        toolchains don't really support 32-bit anymore (it's somewhat there
        but not really "supported") so we didn't want to rely on it.  This
        meant more churn that just endian fixes.
      
        This brings some more LE bits as well, such as the ability to run in
        LE mode without a hypervisor (ie. under OPAL firmware) by doing the
        right OPAL call to reinitialize the CPU to take HV interrupts in the
        right mode and the usual pile of endian fixes.
      
        There's another series from Gavin adding EEH improvements (one day we
        *will* have a release with less than 20 EEH patches, I promise!).
      
        Another highlight is the support for the "Split core" functionality on
        P8 by Michael.  This allows a P8 core to be split into "sub cores" of
        4 threads which allows the subcores to run different guests under KVM
        (the HW still doesn't support a partition per thread).
      
        And then the usual misc bits and fixes ..."
      
      [ Further delayed by gmail deciding that BenH is a dirty spammer.
        Google knows.  ]
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (155 commits)
        powerpc/powernv: Add missing include to LPC code
        selftests/powerpc: Test the THP bug we fixed in the previous commit
        powerpc/mm: Check paca psize is up to date for huge mappings
        powerpc/powernv: Pass buffer size to OPAL validate flash call
        powerpc/pseries: hcall functions are exported to modules, need _GLOBAL_TOC()
        powerpc: Exported functions __clear_user and copy_page use r2 so need _GLOBAL_TOC()
        powerpc/powernv: Set memory_block_size_bytes to 256MB
        powerpc: Allow ppc_md platform hook to override memory_block_size_bytes
        powerpc/powernv: Fix endian issues in memory error handling code
        powerpc/eeh: Skip eeh sysfs when eeh is disabled
        powerpc: 64bit sendfile is capped at 2GB
        powerpc/powernv: Provide debugfs access to the LPC bus via OPAL
        powerpc/serial: Use saner flags when creating legacy ports
        powerpc: Add cpu family documentation
        powerpc/xmon: Fix up xmon format strings
        powerpc/powernv: Add calls to support little endian host
        powerpc: Document sysfs DSCR interface
        powerpc: Fix regression of per-CPU DSCR setting
        powerpc: Split __SYSFS_SPRSETUP macro
        arch: powerpc/fadump: Cleaning up inconsistent NULL checks
        ...
      c5aec4c7
    • L
      Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 · 2937f5ef
      Linus Torvalds 提交于
      Pull x86 platform driver updates from Matthew Garrett:
       "Very little of excitement here - the most significant is a new driver
        for detecting device freefall on Dells, other than that it's pretty
        much entirely minor fixes for specific machines"
      
      * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86:
        hp-wmi: Enable hotkeys on some systems
        thinkpad_acpi: Add mappings for F9 - F12 hotkeys on X240 / T440 / T540
        platform: x86: dell-smo8800: Dell Latitude freefall driver (ACPI SMO8800/SMO8810)
        ideapad_laptop: Introduce the use of the managed version of kzalloc
        platform/x86: Fix run-time dependencies of OLPC drivers
        platform: x86: asus-wmi.c: Cleaning up uninitialized variables
        ix86/mid/thermal: Introduce the use of the managed version of kzalloc
        platform x86 Kconfig: Refer to the laptop list in the Compal driver help
        Documentation: Add list of laptop models supported by the Compal driver
        ideapad-laptop: Blacklist rfkill control on the Lenovo Yoga 2 11
        asus-wmi: Set WAPF to 4 for Asus X550CA
        alienware-wmi: For WMAX HDMI method, introduce a way to query HDMI cable status
        alienware-wmi: Update WMAX brightness method limit to 15
        pvpanic: Set high notifier priority
        platform/x86: samsung-laptop: Add support for Samsung's NP7[34]0U3E models.
        toshiba_acpi: Add alternative keymap support for Satellite M840
        platform-drivers-x86: intel_pmic_gpio: Fix off-by-one valid offset range check
      2937f5ef
    • K
      hp-wmi: Enable hotkeys on some systems · f82bdd0d
      Kyle Evans 提交于
      This is a third attempt to enable these buttons. The new variable being
      commit 997daa1b (i.e. hp-wmi: detect
      "2009 BIOS or later"). Older systems that do not have the 2009 BIOS query
      method respond with a dummy value, in this case 4. Using that, we can
      target a fairly narrow group of systems. i.e. old enough to not have
      HPWMI_FEATURE_QUERY 0xd, but new enough to have HPWMI_BIOS_QUERY 0x9.
      This group may be further limited if some systems respond with something
      other than 4 to non-existant feature queries.
      Signed-off-by: NKyle Evans <kvans32@gmail.com>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      f82bdd0d
    • H
      thinkpad_acpi: Add mappings for F9 - F12 hotkeys on X240 / T440 / T540 · 8b9dd4fa
      Hans de Goede 提交于
      The T440s user guide says that when Fn-lock is not active, the *40s' F9 - F12
      keys should be mapped to: control-panel, search, show-all-windows and Computer.
      
      These keys generate the sofar unused 28 - 31 hotkey scancodes.
      
      For the first 2 this nicely matches the icons on the keys, for the latter 2
      the icons are somewhat creative, which is why I ended up looking them up in
      the user manual.
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      8b9dd4fa
    • P
      platform: x86: dell-smo8800: Dell Latitude freefall driver (ACPI SMO8800/SMO8810) · 4738d8aa
      Pali Rohár 提交于
      This acpi driver provide supports for freefall sensors SMO8800/SMO8810 which
      can be found on Dell Latitude laptops. Driver register /dev/freefall misc
      device which has same interface as driver hp_accel freefall driver. So any
      existing applications for HP freefall sensor /dev/freefall will work for with
      this new driver for Dell Latitude laptops too.
      Signed-off-by: NPali Rohár <pali.rohar@gmail.com>
      Cc: Sonal Santan <sonal.santan@gmail.com>
      Tested-By: NValdis Kletnieks <valdis.kletnieks@vt.edu>
      Acked-By: NValdis Kletnieks <valdis.kletnieks@vt.edu>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      4738d8aa
    • H
      ideapad_laptop: Introduce the use of the managed version of kzalloc · b3facd7b
      Himangi Saraogi 提交于
      This patch moves data allocated using kzalloc to managed data allocated
      using devm_kzalloc and cleans now unnecessary kfrees in probe and remove
      functions. The label sysfs_failed is removed as it is no longer
      required.  Also, linux/device.h is added to make sure the devm_*()
      routine declarations are unambiguously available.
      
      The following Coccinelle semantic patch was used for making the change:
      
      @platform@
      identifier p, probefn, removefn;
      @@
      struct platform_driver p = {
        .probe = probefn,
        .remove = removefn,
      };
      
      @prb@
      identifier platform.probefn, pdev;
      expression e, e1, e2;
      @@
      probefn(struct platform_device *pdev, ...) {
        <+...
      - e = kzalloc(e1, e2)
      + e = devm_kzalloc(&pdev->dev, e1, e2)
        ...
      ?-kfree(e);
        ...+>
      }
      
      @rem depends on prb@
      identifier platform.removefn;
      expression e;
      @@
      removefn(...) {
        <...
      - kfree(e);
        ...>
      }
      Signed-off-by: NHimangi Saraogi <himangi774@gmail.com>
      Acked-by: NJulia Lawall <julia.lawall@lip6.fr>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      b3facd7b
    • J
      platform/x86: Fix run-time dependencies of OLPC drivers · b02fdfcc
      Jean Delvare 提交于
      Let the xo15-ebook driver depend on OLPC as all other OLPC drivers
      already do. Add COMPILE_TEST as an alternative for both xo1-rfkill
      and xo15-ebook, to increase the build testing coverage.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Cc: Matthew Garrett <matthew.garrett@nebula.com>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      b02fdfcc
    • R
      platform: x86: asus-wmi.c: Cleaning up uninitialized variables · 8ad3be1e
      Rickard Strandqvist 提交于
      There is a risk that the variable will be used without being initialized.
      
      This was largely found by using a static code analysis program called cppcheck.
      Signed-off-by: NRickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      8ad3be1e
    • H
      ix86/mid/thermal: Introduce the use of the managed version of kzalloc · 14627e36
      Himangi Saraogi 提交于
      This patch moves data allocated using kzalloc to managed data allocated
      using devm_kzalloc and cleans now unnecessary kfrees in probe and remove
      functions.
      
      The following Coccinelle semantic patch was used for making the change:
      
      @platform@
      identifier p, probefn, removefn;
      @@
      struct platform_driver p = {
        .probe = probefn,
        .remove = removefn,
      };
      
      @prb@
      identifier platform.probefn, pdev;
      expression e, e1, e2;
      @@
      probefn(struct platform_device *pdev, ...) {
        <+...
      - e = kzalloc(e1, e2)
      + e = devm_kzalloc(&pdev->dev, e1, e2)
        ...
      ?-kfree(e);
        ...+>
      }
      
      @rem depends on prb@
      identifier platform.removefn;
      expression e;
      @@
      removefn(...) {
        <...
      - kfree(e);
        ...>
      }
      Signed-off-by: NHimangi Saraogi <himangi774@gmail.com>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      14627e36
    • I
    • I
    • H
      ideapad-laptop: Blacklist rfkill control on the Lenovo Yoga 2 11 · 85093f79
      Hans de Goede 提交于
      The Lenovo Yoga 2 11 always reports everything as blocked, causing userspace
      to not even try to use the wlan / bluetooth even though they work fine.
      
      Note this patch also removes the "else priv->rfk[i] = NULL;" bit of the
      rfkill initialization, it is not necessary as the priv struct is allocated
      with kzalloc.
      Reported-and-tested-by: NVincent Gerris <vgerris@gmail.com>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      85093f79
    • A
      asus-wmi: Set WAPF to 4 for Asus X550CA · c08db55f
      Andreas Utterberg 提交于
      The 'asus-nb-wmi' WAPF parameter must be set to 4, so the internal Wireless LAN device is operational.
      Signed-off-by: NAndreas Utterberg <andreas.utterberg@thundera.se>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      c08db55f
    • M
      alienware-wmi: For WMAX HDMI method, introduce a way to query HDMI cable status · bc2ef884
      Mario Limonciello 提交于
      Since there are now multiple HDMI attributes associated with the WMAX method,
      create a sysfs group for them instead.
      Signed-off-by: NMario Limonciello <mario_limonciello@dell.com>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      bc2ef884
    • L
      Merge branch 'akpm' (patches from Andrew Morton) · 9ee4d7a6
      Linus Torvalds 提交于
      Merge leftovers from Andrew Morton:
       "A few leftovers: ocfs2, gcov, RTC"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        rtc: s5m: consolidate two device type switch statements
        rtc: s5m: add support for S2MPS14 RTC
        rtc: s5m: support different register layout
        rtc: s5m: use shorter time of register update
        rtc: s5m: remove undocumented time init on first boot
        mfd/rtc: sec/s5m: rename SEC* symbols to S5M
        gcov: add support for GCC 4.9
        ocfs2/o2net: incorrect to terminate accepting connections loop upon rejecting an invalid one
      9ee4d7a6
    • K
      rtc: s5m: consolidate two device type switch statements · a0347f20
      Krzysztof Kozlowski 提交于
      In probe the configuration of driver for different chipsets was done in
      two switch (pdata->device_type) statements.  Consolidate them into one
      switch statement to increase code readability.
      
      Additionally check the return value of regmap_irq_get_virq and exit
      probe on error.
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a0347f20
    • K
      rtc: s5m: add support for S2MPS14 RTC · 0c5deb1e
      Krzysztof Kozlowski 提交于
      Add support for S2MPS14 to the rtc-s5m driver.  Differences in S2MPS14
      (in comparison to S5M8767):
      
       - Layout of registers
       - Lack of century support for time and alarms (7 registers used for
         storing time/alarm)
       - Two buffer control registers: WUDR and RUDR
       - No register for enabling writing time
       - RTC interrupts are reported in main PMIC I2C device
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0c5deb1e