1. 26 9月, 2014 3 次提交
    • L
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 12df9f37
      Linus Torvalds 提交于
      Pull i2c fixes from Wolfram Sang:
       "This is probably not the kind of pull request you want to see that
        late in the cycle.  Yet, the ACPI refactorization was problematic
        again and caused another two issues which need fixing.  My holidays
        with limited internet (plus travelling) and the developer's illness
        didn't help either :(
      
        The details:
      
         - ACPI code was refactored out into a seperate file and as a
           side-effect, the i2c-core module got renamed.  Jean Delvare
           rightfully complained about the rename being problematic for
           distributions.  So, Mika and I thought the least problematic way to
           deal with it is to move all the code back into the main i2c core
           source file.  This is mainly a huge code move with some #ifdeffery
           applied.  No functional code changes.  Our personal tests and the
           testbots did not find problems.  (I was thinking about reverting,
           too, yet that would also have ~800 lines changed)
      
         - The new ACPI code also had a NULL pointer exception, thanks to
           Peter for finding and fixing it.
      
         - Mikko fixed a locking problem by decoupling clock_prepare and
           clock_enable.
      
         - Addy learnt that the datasheet was wrong and reimplemented the
           frequency setup according to the new algorithm.
      
        - Fan fixed an off-by-one error when copying data
      
        - Janusz fixed a copy'n'paste bug which gave a wrong error message
      
        - Sergei made sure that "don't touch" bits are not accessed"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: acpi: Fix NULL Pointer dereference
        i2c: move acpi code back into the core
        i2c: rk3x: fix divisor calculation for SCL frequency
        i2c: mxs: fix error message in pio transfer
        i2c: ismt: use correct length when copy buffer
        i2c: rcar: fix RCAR_IRQ_ACK_{RECV|SEND}
        i2c: tegra: Move clk_prepare/clk_set_rate to probe
      12df9f37
    • R
      MAINTAINERS: new Documentation maintainer · d671e424
      Randy Dunlap 提交于
      Transfer Documentation maintainership to Jiri Kosina.
      Thanks, Jiri.
      
      I'll still be reviewing and working on documentation.
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Acked-by: NJiri Kosina <jkosina@suse.cz>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d671e424
    • L
      Merge tag 'gpio-v3.17-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 2289823c
      Linus Torvalds 提交于
      Pull gpio fixes from Linus Walleij:
       "Two GPIO fixes:
      
         - GPIO direction flags where handled wrong in the new descriptor-
           based API, so direction changes did not always "take".
      
         - Fix a handler installation race in the generic GPIO irqchip code"
      
      * tag 'gpio-v3.17-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio: Fix potential NULL handler data in chained irqchip handler
        gpio: Fix gpio direction flags not getting set
      2289823c
  2. 25 9月, 2014 23 次提交
    • L
      Merge tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux · 4d3afba3
      Linus Torvalds 提交于
      Pull devicetree bug fixes and documentation from Grant Likely:
       "Several bug fix commits for issues found in the v3.17 rc series.
      
        Most of these are minor in that they aren't actively dangerous, but
        they have been seen in the wild.  The one important fix is commit
        7dbe5849 ("of: make sure of_alias is initialized before accessing
        it"), without which some powerpc platforms will fail to find stdout
        for the console"
      
      * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux:
        of/fdt: fix memory range check
        of: Fix memory block alignment in early_init_dt_add_memory_arch()
        of: make sure of_alias is initialized before accessing it
        of: Documentation regarding attaching OF Selftest testdata
        of: Disabling OF functions that use sysfs if CONFIG_SYSFS disabled
        of: correct of_console_check()'s return value
      4d3afba3
    • P
      i2c: acpi: Fix NULL Pointer dereference · 0aef44e8
      Peter Hüwe 提交于
      If adapter->dev.parent == NULL there is a NULL pointer dereference in
      acpi_i2c_install_space_handler and acpi_i2c_remove_space_handler.
      
      This is present since introduction of this code:
      36604751 "i2c: rework kernel config I2C_ACPI" or even
      da3c6647 "I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI"
      
      The adapter->dev.parent == NULL case is valid for the i2c_stub,
      so loading i2c_stub with ACPI_I2C_OPREGION enabled results in an oops.
      This is also valid at least for i2c_tiny_usb and i2c_robotfuzz_osif.
      
      Fix by checking whether it is null before calling ACPI_HANDLE.
      Signed-off-by: NPeter Huewe <peterhuewe@gmx.de>
      Acked-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      0aef44e8
    • W
      i2c: move acpi code back into the core · 17f4a5c4
      Wolfram Sang 提交于
      Commit 5d98e61d ("I2C/ACPI: Add i2c ACPI operation region support")
      renamed the i2c-core module. This may cause regressions for
      distributions, so put the ACPI code back into the core.
      Reported-by: NJean Delvare <jdelvare@suse.de>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      Tested-by: NLan Tianyu <tianyu.lan@intel.com>
      Tested-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      17f4a5c4
    • S
      of/fdt: fix memory range check · 9aacd602
      Srinivas Kandagatla 提交于
      In cases where board has below memory DT node
      
      memory{
      	device_type = "memory";
      	reg = <0x80000000 0x80000000>;
      };
      
      Check on the memory range in fdt.c will always fail because it is
      comparing MAX_PHYS_ADDR with base + size, in fact it should compare
      it with base + size - 1.
      
      This issue was originally noticed on Qualcomm IFC6410 board.
      Without this patch kernel shows up noticed unnecessary warnings
      
      [    0.000000] Machine model: Qualcomm APQ8064/IFC6410
      [    0.000000] Ignoring memory range 0xffffffff - 0x100000000
      [    0.000000] cma: Reserved 64 MiB at ab800000
      
      as a result the size get reduced to 0x7fffffff which looks wrong.
      
      This patch fixes the check involved in generating this warning and
      as a result it also fixes the wrong size calculation.
      Signed-off-by: NSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      [grant.likely: adjust new size calculation also]
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      9aacd602
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 005f8005
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Some final radeon and i915 fixes, black screens mostly"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon/cik: use a separate counter for CP init timeout
        drm/i915/hdmi: fix hdmi audio state readout
        drm/i915: Don't leak command parser tables on suspend/resume
        drm/radeon: add PX quirk for asus K53TK
        drm/radeon: add a backlight quirk for Amilo Xi 2550
        drm/radeon: add a module parameter for backlight control (v2)
        drm/radeon: Update IH_RB_RPTR register after each processed interrupt
        drm/radeon: Make IH ring overflow debugging output more useful
        drm/radeon: Clear RB_OVERFLOW bit earlier
      005f8005
    • D
      Merge branch 'drm-fixes-3.17' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 67f33f30
      Dave Airlie 提交于
      - fix a backlight regression resulting in dark screen
      - add a PX quirk to avoid a hang with runtime pm
      - fix an init issue on the CIK compute rings
      - fix IH ring buffer overflows gracefully
      
      * 'drm-fixes-3.17' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon/cik: use a separate counter for CP init timeout
        drm/radeon: add PX quirk for asus K53TK
        drm/radeon: add a backlight quirk for Amilo Xi 2550
        drm/radeon: add a module parameter for backlight control (v2)
        drm/radeon: Update IH_RB_RPTR register after each processed interrupt
        drm/radeon: Make IH ring overflow debugging output more useful
        drm/radeon: Clear RB_OVERFLOW bit earlier
      67f33f30
    • D
      Merge tag 'drm-intel-fixes-2014-09-24' of git://anongit.freedesktop.org/drm-intel into drm-fixes · 65e7e5d8
      Dave Airlie 提交于
      a couple of small fixes for 3.17 still.
      
      * tag 'drm-intel-fixes-2014-09-24' of git://anongit.freedesktop.org/drm-intel:
        drm/i915/hdmi: fix hdmi audio state readout
        drm/i915: Don't leak command parser tables on suspend/resume
      65e7e5d8
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · b94d525e
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
       "Here is a quick pull request primarily meant to address the deconfig
        fallout from changing SCSI_NETLINK from being used via 'select' to
        being used via 'depends'.
      
        I applied a set of 5 patches written by Michal Marek, and then I
        carefully audited all of the remaining config files, basically:
      
         1) I scanned every arch config file, and if it mentioned CONFIG_INET
            or CONFIG_UNIX, I made sure it had CONFIG_NET=y
      
         2) After that, I scanned every arch config file, and if it did not
            have CONFIG_NET=y I made sure it did not reference any networking
            config options.
      
        Finally, we have some late breaking wireless fixes in here from John
        Linville and co"
      
      [ And there's a sparc bpf fix snuck in too ]
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        sparc: bpf_jit: fix loads from negative offsets
        parisc: Update defconfigs which were missing CONFIG_NET.
        powerpc: Update defconfigs which were missing CONFIG_NET.
        s390: Update defconfigs which were missing CONFIG_NET.
        mips: Update some more defconfigs which were missing CONFIG_NET.
        sparc: Set CONFIG_NET=y in defconfigs
        sh: Set CONFIG_NET=y in defconfigs
        powerpc: Set CONFIG_NET=y in defconfigs
        parisc: Set CONFIG_NET=y in defconfigs
        mips: Set CONFIG_NET=y in defconfigs
        brcmfmac: Fix off by one bug in brcmf_count_20mhz_channels()
        ath9k: Fix NULL pointer dereference on early irq
        net: rfkill: gpio: Fix clock status
        NFC: st21nfca: Fix potential depmod dependency cycle
        NFC: st21nfcb: Fix depmod dependency cycle
        NFC: microread: Potential overflows in microread_target_discovered()
      b94d525e
    • A
      sparc: bpf_jit: fix loads from negative offsets · 35607b02
      Alexei Starovoitov 提交于
      - fix BPF_LD|ABS|IND from negative offsets:
        make sure to sign extend lower 32 bits in 64-bit register
        before calling C helpers from JITed code, otherwise 'int k'
        argument of bpf_internal_load_pointer_neg_helper() function
        will be added as large unsigned integer, causing packet size
        check to trigger and abort the program.
      
        It's worth noting that JITed code for 'A = A op K' will affect
        upper 32 bits differently depending whether K is simm13 or not.
        Since small constants are sign extended, whereas large constants
        are stored in temp register and zero extended.
        That is ok and we don't have to pay a penalty of sign extension
        for every sethi, since all classic BPF instructions have 32-bit
        semantics and we only need to set correct upper bits when
        transitioning from JITed code into C.
      
      - though instructions 'A &= 0' and 'A *= 0' are odd, JIT compiler
        should not optimize them out
      Signed-off-by: NAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      35607b02
    • D
      Merge tag 'master-2014-09-23' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · 543a2dff
      David S. Miller 提交于
      John W. Linville says:
      
      ====================
      pull request: wireless 2014-09-23
      
      Please consider pulling this one last batch of fixes intended for the 3.17 stream!
      
      For the NFC bits, Samuel says:
      
      "Hopefully not too late for a handful of NFC fixes:
      
      - 2 potential build failures for ST21NFCA and ST21NFCB, triggered by a
        depmod dependenyc cycle.
      - One potential buffer overflow in the microread driver."
      
      On top of that...
      
      Emil Goode provides a fix for a brcmfmac off-by-one regression which
      was introduced in the 3.17 cycle.
      
      Loic Poulain fixes a polarity mismatch for a variable assignment
      inside of rfkill-gpio.
      
      Wojciech Dubowik prevents a NULL pointer dereference in ath9k.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      543a2dff
    • D
      parisc: Update defconfigs which were missing CONFIG_NET. · c899c3f3
      David S. Miller 提交于
      Commit df568d8e ("scsi: Use 'depends' with LIBFC instead of
      'select'.")  removed what happened to be the only instance of 'select
      NET'. Defconfigs that were relying on the select now lack networking
      support.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c899c3f3
    • D
      powerpc: Update defconfigs which were missing CONFIG_NET. · 95d77997
      David S. Miller 提交于
      Commit df568d8e ("scsi: Use 'depends' with LIBFC instead of
      'select'.")  removed what happened to be the only instance of 'select
      NET'. Defconfigs that were relying on the select now lack networking
      support.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      95d77997
    • D
      s390: Update defconfigs which were missing CONFIG_NET. · ff408ba1
      David S. Miller 提交于
      Commit df568d8e ("scsi: Use 'depends' with LIBFC instead of
      'select'.")  removed what happened to be the only instance of 'select
      NET'. Defconfigs that were relying on the select now lack networking
      support.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ff408ba1
    • D
      mips: Update some more defconfigs which were missing CONFIG_NET. · af4de1b5
      David S. Miller 提交于
      Commit df568d8e ("scsi: Use 'depends' with LIBFC instead of
      'select'.")  removed what happened to be the only instance of 'select
      NET'. Defconfigs that were relying on the select now lack networking
      support.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      af4de1b5
    • M
      sparc: Set CONFIG_NET=y in defconfigs · 1ab0b8b2
      Michal Marek 提交于
      Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
      instead of selecting NET") removed what happened to be the only instance
      of 'select NET'. Defconfigs that were relying on the select now lack
      networking support.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: sparclinux@vger.kernel.org
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1ab0b8b2
    • M
      sh: Set CONFIG_NET=y in defconfigs · 925f7fad
      Michal Marek 提交于
      Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
      instead of selecting NET") removed what happened to be the only instance
      of 'select NET'. Defconfigs that were relying on the select now lack
      networking support.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: linux-sh@vger.kernel.org
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      925f7fad
    • M
      powerpc: Set CONFIG_NET=y in defconfigs · 853e3e1d
      Michal Marek 提交于
      Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
      instead of selecting NET") removed what happened to be the only instance
      of 'select NET'. Defconfigs that were relying on the select now lack
      networking support.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      853e3e1d
    • M
      parisc: Set CONFIG_NET=y in defconfigs · 25fee47f
      Michal Marek 提交于
      Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
      instead of selecting NET") removed what happened to be the only instance
      of 'select NET'. Defconfigs that were relying on the select now lack
      networking support.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: linux-parisc@vger.kernel.org
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      25fee47f
    • M
      mips: Set CONFIG_NET=y in defconfigs · d1630f9e
      Michal Marek 提交于
      Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
      instead of selecting NET") removed what happened to be the only instance
      of 'select NET'. Defconfigs that were relying on the select now lack
      networking support.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: linux-mips@linux-mips.org
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d1630f9e
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 02f130a7
      Linus Torvalds 提交于
      Pull one last block fix from Jens Axboe:
       "We've had an issue with scsi-mq where probing takes forever.  This was
        bisected down to the percpu changes for blk_mq_queue_enter(), and the
        fact we now suffer an RCU grace period when killing a queue.  SCSI
        creates and destroys tons of queues, so this let to 10s of seconds of
        stalls at boot for some.
      
        Tejun has a real fix for this, but it's too involved for 3.17.  So
        this is a temporary workaround to expedite the queue killing until we
        can fold in the real fix for 3.18 when that merge window opens"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe
      02f130a7
    • L
      Merge tag 'pci-v3.17-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 2d7ed01e
      Linus Torvalds 提交于
      Pull PCI fixes from Bjorn Helgaas:
       "Here are a few fixes that should be in v3.17.
      
         - Reverting "Don't scan random busses" covers up a CardBus regression
           having to do with allocating CardBus bus numbers.
      
         - Reverting "Make sure bus numbers stay within parents bounds" covers
           up an ACPI _CRS bug that makes us reconfigure a bridge, causing a
           broken device behind it to stop responding.
      
         - The pciehp timeout change fixes some code we added in v3.17.
           Without the fix, we can send a new hotplug command too early,
           before the timeout has expired.
      
        I hope for better fixes for the reverts, but those will have to come
        after v3.17"
      
      * tag 'pci-v3.17-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: pciehp: Fix pcie_wait_cmd() timeout
        Revert "PCI: Make sure bus number resources stay within their parents bounds"
        Revert "PCI: Don't scan random busses in pci_scan_bridge()"
      2d7ed01e
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 2368a942
      Linus Torvalds 提交于
      Pull crypto fixes from Herbert Xu:
       "This fixes three issues:
      
         - if ccp is loaded on a machine without ccp, it will incorrectly
           activate causing all requests to fail.  Fixed by preventing ccp
           from loading if hardware isn't available.
      
         - not all IRQs were enabled for the qat driver, leading to potential
           stalls when it is used
      
         - disabled buggy AVX CTR implementation in aesni"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: aesni - disable "by8" AVX CTR optimization
        crypto: ccp - Check for CCP before registering crypto algs
        crypto: qat - Enable all 32 IRQs
      2368a942
    • L
      Merge tag 'media/v3.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · eb55a2a9
      Linus Torvalds 提交于
      Pull media fixes from Mauro Carvalho Chehab:
       "For some last time fixes:
         - a regression detected on Kernel 3.16 related to VBI Teletext
           application breakage on drivers using videobuf2 (see
           https://bugzilla.kernel.org/show_bug.cgi?id=84401).  The bug was
           noticed on saa7134 (migrated to VB2 on 3.16), but also affects
           em28xx (migrated on 3.9 to VB2);
         - two additional sanity checks at videobuf2;
         - two fixups to restore proper VBI support at the em28xx driver;
         - two Kernel oops fixups (at cx24123 and cx2341x drivers);
         - a bug at adv7604 where an if was doing just the opposite as it
           would be expected;
         - some documentation fixups to match the behavior defined at the
           Kernel"
      
      * tag 'media/v3.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        [media] em28xx-v4l: get rid of field "users" in struct em28xx_v4l2"
        [media] em28xx: fix VBI handling logic
        [media] DocBook media: improve the poll() documentation
        [media] DocBook media: fix the poll() 'no QBUF' documentation
        [media] vb2: fix VBI/poll regression
        [media] cx2341x: fix kernel oops
        [media] cx24123: fix kernel oops due to missing parent pointer
        [media] adv7604: fix inverted condition
        [media] media/radio: fix radio-miropcm20.c build with io.h header file
        [media] vb2: fix plane index sanity check in vb2_plane_cookie()
        [media] DocBook media: update version number and V4L2 changes
        [media] DocBook media: fix fieldname in struct v4l2_subdev_selection
        [media] vb2: fix vb2 state check when start_streaming fails
        [media] videobuf2-core.h: fix comment
        [media] videobuf2-core: add comments before the WARN_ON
        [media] videobuf2-dma-sg: fix for wrong GFP mask to sg_alloc_table_from_pages
      eb55a2a9
  3. 24 9月, 2014 14 次提交
    • L
      Merge tag 'md/3.17-more-fixes' of git://git.neil.brown.name/md · a90e41e2
      Linus Torvalds 提交于
      Pull bugfixes for md/raid1 from Neil Brown:
       "It is amazing how much easier it is to find bugs when you know one is
        there.  Two bug reports resulted in finding 7 bugs!
      
        All are tagged for -stable.  Those that can't cause (rare) data
        corruption, cause lockups.
      
        Particularly, but not only, fixing new "resync" code"
      
      * tag 'md/3.17-more-fixes' of git://git.neil.brown.name/md:
        md/raid1: fix_read_error should act on all non-faulty devices.
        md/raid1: count resync requests in nr_pending.
        md/raid1: update next_resync under resync_lock.
        md/raid1: Don't use next_resync to determine how far resync has progressed
        md/raid1: make sure resync waits for conflicting writes to complete.
        md/raid1: clean up request counts properly in close_sync()
        md/raid1:  be more cautious where we read-balance during resync.
        md/raid1: intialise start_next_window for READ case to avoid hang
      a90e41e2
    • T
      blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe · 0a30288d
      Tejun Heo 提交于
      blk-mq uses percpu_ref for its usage counter which tracks the number
      of in-flight commands and used to synchronously drain the queue on
      freeze.  percpu_ref shutdown takes measureable wallclock time as it
      involves a sched RCU grace period.  This means that draining a blk-mq
      takes measureable wallclock time.  One would think that this shouldn't
      matter as queue shutdown should be a rare event which takes place
      asynchronously w.r.t. userland.
      
      Unfortunately, SCSI probing involves synchronously setting up and then
      tearing down a lot of request_queues back-to-back for non-existent
      LUNs.  This means that SCSI probing may take more than ten seconds
      when scsi-mq is used.
      
      This will be properly fixed by implementing a mechanism to keep
      q->mq_usage_counter in atomic mode till genhd registration; however,
      that involves rather big updates to percpu_ref which is difficult to
      apply late in the devel cycle (v3.17-rc6 at the moment).  As a
      stop-gap measure till the proper fix can be implemented in the next
      cycle, this patch introduces __percpu_ref_kill_expedited() and makes
      blk_mq_freeze_queue() use it.  This is heavy-handed but should work
      for testing the experimental SCSI blk-mq implementation.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reported-by: NChristoph Hellwig <hch@infradead.org>
      Link: http://lkml.kernel.org/g/20140919113815.GA10791@lst.de
      Fixes: add703fd ("blk-mq: use percpu_ref for mq usage count")
      Cc: Kent Overstreet <kmo@daterainc.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Tested-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      0a30288d
    • M
      crypto: aesni - disable "by8" AVX CTR optimization · 7da4b29d
      Mathias Krause 提交于
      The "by8" implementation introduced in commit 22cddcc7 ("crypto: aes
      - AES CTR x86_64 "by8" AVX optimization") is failing crypto tests as it
      handles counter block overflows differently. It only accounts the right
      most 32 bit as a counter -- not the whole block as all other
      implementations do. This makes it fail the cryptomgr test #4 that
      specifically tests this corner case.
      
      As we're quite late in the release cycle, just disable the "by8" variant
      for now.
      Reported-by: NRomain Francoise <romain@orebokech.com>
      Signed-off-by: NMathias Krause <minipli@googlemail.com>
      Cc: Chandramouli Narayanan <mouli@linux.intel.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      7da4b29d
    • J
      gpio: Fix potential NULL handler data in chained irqchip handler · 324b0398
      Jarkko Nikula 提交于
      There is possibility with misconfigured pins that interrupt occurs instantly
      after setting irq_set_chained_handler() in gpiochip_set_chained_irqchip().
      Now if handler gets called before irq_set_handler_data() the handler gets
      NULL handler data.
      
      Fix this by moving irq_set_handler_data() call before
      irq_set_chained_handler() in gpiochip_set_chained_irqchip().
      
      Cc: Stable <stable@vger.kernel.org> # 3.15+
      Reviewed-by: NAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: NJarkko Nikula <jarkko.nikula@linux.intel.com>
      324b0398
    • A
      gpio: Fix gpio direction flags not getting set · 72f908c8
      Adrian Hunter 提交于
      GPIO direction flags are not getting set because
      an 'if' statement is the wrong way around.
      
      Cc: Stable <stable@vger.kernel.org> # 3.15+
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Acked-by: NAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      72f908c8
    • T
      crypto: ccp - Check for CCP before registering crypto algs · c9f21cb6
      Tom Lendacky 提交于
      If the ccp is built as a built-in module, then ccp-crypto (whether
      built as a module or a built-in module) will be able to load and
      it will register its crypto algorithms.  If the system does not have
      a CCP this will result in -ENODEV being returned whenever a command
      is attempted to be queued by the registered crypto algorithms.
      
      Add an API, ccp_present(), that checks for the presence of a CCP
      on the system.  The ccp-crypto module can use this to determine if it
      should register it's crypto alogorithms.
      
      Cc: stable@vger.kernel.org
      Reported-by: NScot Doyle <lkml14@scotdoyle.com>
      Signed-off-by: NTom Lendacky <thomas.lendacky@amd.com>
      Tested-by: NScot Doyle <lkml14@scotdoyle.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      c9f21cb6
    • L
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 452b6361
      Linus Torvalds 提交于
      Pull infiniband/rdma fixes from Roland Dreier:
       "Last late set of InfiniBand/RDMA fixes for 3.17:
      
         - fixes for the new memory region re-registration support
         - iSER initiator error path fixes
         - grab bag of small fixes for the qib and ocrdma hardware drivers
         - larger set of fixes for mlx4, especially in RoCE mode"
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (26 commits)
        IB/mlx4: Fix VF mac handling in RoCE
        IB/mlx4: Do not allow APM under RoCE
        IB/mlx4: Don't update QP1 in native mode
        IB/mlx4: Avoid accessing netdevice when building RoCE qp1 header
        mlx4: Fix mlx4 reg/unreg mac to work properly with 0-mac addresses
        IB/core: When marshaling uverbs path, clear unused fields
        IB/mlx4: Avoid executing gid task when device is being removed
        IB/mlx4: Fix lockdep splat for the iboe lock
        IB/mlx4: Get upper dev addresses as RoCE GIDs when port comes up
        IB/mlx4: Reorder steps in RoCE GID table initialization
        IB/mlx4: Don't duplicate the default RoCE GID
        IB/mlx4: Avoid null pointer dereference in mlx4_ib_scan_netdevs()
        IB/iser: Bump version to 1.4.1
        IB/iser: Allow bind only when connection state is UP
        IB/iser: Fix RX/TX CQ resource leak on error flow
        RDMA/ocrdma: Use right macro in query AH
        RDMA/ocrdma: Resolve L2 address when creating user AH
        mlx4: Correct error flows in rereg_mr
        IB/qib: Correct reference counting in debugfs qp_stats
        IPoIB: Remove unnecessary port query
        ...
      452b6361
    • L
      Merge tag 'sound-3.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · ffd4341d
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "One fix is about a buggy computation in PCM API function Clemens
        spotted out, but the impact must be really small as no one really uses
        it in user-space side.
      
        The rest are a trivial fix for a HD-audio model and a USB-audio
        device-specific regression fix, so all look fairly safe to apply"
      
      * tag 'sound-3.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: snd-usb-caiaq: Fix LED commands for Kore controller
        ALSA: pcm: fix fifo_size frame calculation
        ALSA: hda - Add fixup model name lookup for Lemote A1205
      ffd4341d
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 31f9bf46
      Linus Torvalds 提交于
      Pull final block fixes from Jens Axboe:
       "This week and last we've been fixing some corner cases related to
        blk-mq, mostly.  I ended up pulling most of that out of for-linus
        yesterday, which is why the branch looks fresh.  The rest were
        postponed for 3.18.
      
        This pull request contains:
      
         - Fix from Christoph, avoiding a stack overflow when FUA insertion
           would recursive infinitely.
      
         - Fix from David Hildenbrand on races between the timeout handler and
           uninitialized requests.  Fixes a real issue that virtio_blk has run
           into.
      
         - A few fixes from me:
      
              - Ensure that request deadline/timeout is ordered before the
                request is marked as started.
      
              - A potential oops on out-of-memory, when we scale the queue
                depth of the device and retry.
      
              - A hang fix on requeue from SCSI, where the hardware queue
                would be stopped when we attempt to re-run it (and hence
                nothing would happen, stalling progress).
      
              - A fix for commit 2da78092, where the cleanup path was moved
                to RCU, but a debug might_sleep() was inadvertently left in
                the code.  This causes warnings for people"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        genhd: fix leftover might_sleep() in blk_free_devt()
        blk-mq: use blk_mq_start_hw_queues() when running requeue work
        blk-mq: fix potential oops on out-of-memory in __blk_mq_alloc_rq_maps()
        blk-mq: avoid infinite recursion with the FUA flag
        blk-mq: Avoid race condition with uninitialized requests
        blk-mq: request deadline must be visible before marking rq as started
      31f9bf46
    • L
      Merge branch 'parisc-3.17-7' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · d19eff3a
      Linus Torvalds 提交于
      Pull parisc fixes from Helge Deller:
       "We avoid using -mfast-indirect-calls for 64bit kernel builds to
        prevent building an unbootable kernel due to latest gcc changes.
      
        In the pdc_stable/firmware-access driver we fix a few possible stack
        overflows and we now call secure_computing_strict() instead of
        secure_computing() which fixes upcoming SECCOMP patches in the
        for-next trees"
      
      * 'parisc-3.17-7' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Only use -mfast-indirect-calls option for 32-bit kernel builds
        parisc: pdc_stable.c: Avoid potential stack overflows
        parisc: pdc_stable.c: Cleaning up unnecessary use of memset in conjunction with strncpy
        parisc: ptrace: use secure_computing_strict()
      d19eff3a
    • J
      parisc: Only use -mfast-indirect-calls option for 32-bit kernel builds · d26a7730
      John David Anglin 提交于
      In spite of what the GCC manual says, the -mfast-indirect-calls has
      never been supported in the 64-bit parisc compiler. Indirect calls have
      always been done using function descriptors irrespective of the
      -mfast-indirect-calls option.
      
      Recently, it was noticed that a function descriptor was always requested
      when the -mfast-indirect-calls option was specified. This caused
      problems when the option was used in  application code and doesn't make
      any sense because the whole point of the option is to avoid using a
      function descriptor for indirect calls.
      
      Fixing this broke 64-bit kernel builds.
      
      I will fix GCC but for now we need the attached change. This results in
      the same kernel code as before.
      Signed-off-by: NJohn David Anglin <dave.anglin@bell.net>
      Cc: stable@vger.kernel.org  # v3.0+
      Signed-off-by: NHelge Deller <deller@gmx.de>
      d26a7730
    • L
      Merge tag 'please-pull-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · f0eb4a24
      Linus Torvalds 提交于
      Pull ia64 defconfig update from Tony Luck:
       "Need to rebuild defconfig files to cope with removal of "select NET"
        in drivers/scsi/Kconfig"
      
      * tag 'please-pull-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        [IA64] refresh arch/ia64/configs/* using "make savedefconfig"
      f0eb4a24
    • L
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · c1d58658
      Linus Torvalds 提交于
      Pull hwmon fixes from Guenter Roeck:
       - Fix a resource leak in tmp103 driver
       - Add support for two more processors to fam15h_power driver
       - Also fix a bug in the same driver to only report the power level on
         chips which actually support reporting it
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (tmp103) Fix resource leak bug in tmp103 temperature sensor driver
        hwmon: (fam15h_power) Add support for two more processors
        hwmon: (fam15h_power) Make actual power reporting conditional
      c1d58658
    • T
      [IA64] refresh arch/ia64/configs/* using "make savedefconfig" · e8ee39e2
      Tony Luck 提交于
      Prompted by a change to drivers/scsi/Kconfig which used to do a
      "select NET" but now does a "depends on NET". This meant that some
      configurations ended up without CONFIG_NET=y
      
      Signed-off-by Tony Luck <tony.luck@intel.com>
      e8ee39e2