1. 07 9月, 2014 2 次提交
    • L
      Merge tag 'xfs-for-linus-3.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 11e97398
      Linus Torvalds 提交于
      Pull xfs fixes from Dave Chinner:
       "The fixes all address recently discovered data corruption issues.
      
        The original Direct IO issue was discovered by Chris Mason @ Facebook
        on a production workload which mixed buffered reads with direct reads
        and writes IO to the same file.  The fix for that exposed other issues
        with page invalidation (exposed by millions of fsx operations) failing
        due to dirty buffers beyond EOF.
      
        Finally, the collapse_range code could also cause problems due to
        racing writeback changing the extent map while it was being shifted
        around.  The commits for that problem are simple mitigation fixes that
        prevent the problem from occuring.  A more robust fix for 3.18 that
        addresses the underlying problem is currently being worked on by
        Brian.
      
        Summary of fixes:
         - a direct IO read/buffered read data corruption
         - the associated fallout from the DIO data corruption fix
         - collapse range bugs that are potential data corruption issues"
      
      * tag 'xfs-for-linus-3.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs:
        xfs: trim eofblocks before collapse range
        xfs: xfs_file_collapse_range is delalloc challenged
        xfs: don't log inode unless extent shift makes extent modifications
        xfs: use ranged writeback and invalidation for direct IO
        xfs: don't zero partial page cache pages during O_DIRECT writes
        xfs: don't zero partial page cache pages during O_DIRECT writes
        xfs: don't dirty buffers beyond EOF
      11e97398
    • L
      Merge tag 'for-linus-20140905' of git://git.infradead.org/linux-mtd · 925e0ea4
      Linus Torvalds 提交于
      Pull mtd fixes from Brian Norris:
       "Two trivial MTD updates for 3.17-rc4:
      
         - a tiny comment tweak, to kill a bunch of DocBook warnings added
           during the merge window
      
         - a small fixup to the OTP routines' error handling"
      
      * tag 'for-linus-20140905' of git://git.infradead.org/linux-mtd:
        mtd: nand: fix DocBook warnings on nand_sdr_timings doc
        mtd: cfi_cmdset_0002: check return code for get_chip()
      925e0ea4
  2. 06 9月, 2014 1 次提交
  3. 05 9月, 2014 14 次提交
  4. 04 9月, 2014 8 次提交
    • L
      Merge tag 'sound-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 57b252f8
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "This time it contains a bunch of small ASoC fixes that slipped from in
        previous updates, in addition to the usual HD-audio fixes and the
        regression fixes for FireWire updates in 3.17.
      
        All commits are reasonably small fixes"
      
      * tag 'sound-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Fix COEF setups for ALC1150 codec
        ASoC: simple-card: Fix bug of wrong decrement DT node's refcount
        ALSA: hda - Fix digital mic on Acer Aspire 3830TG
        ASoC: omap-twl4030: Fix typo in 2nd dai link's platform_name
        ALSA: firewire-lib/dice: add arrangements of PCM pointer and interrupts for Dice quirk
        ALSA: dice: fix wrong channel mappping at higher sampling rate
        ASoC: cs4265: Fix setting of functional mode and clock divider
        ASoC: cs4265: Fix clock rates in clock map table
        ASoC: rt5677: correct mismatch widget name
        ASoC: rt5640: Do not allow regmap to use bulk read-write operations
        ASoC: tegra: Fix typo in include guard
        ASoC: da732x: Fix typo in include guard
        ASoC: core: fix .info for SND_SOC_BYTES_TLV
        ASoC: rcar: Use && instead of & for boolean expressions
        ASoC: Use dev_set_name() instead of init_name
        ASoC: axi: Fix ADI AXI SPDIF specification
      57b252f8
    • D
      Merge tag 'drm-intel-fixes-2014-09-03' of git://anongit.freedesktop.org/drm-intel into drm-fixes · 3aacfda0
      Dave Airlie 提交于
      here's a couple of display regression fixes for 3.17.
      
      * tag 'drm-intel-fixes-2014-09-03' of git://anongit.freedesktop.org/drm-intel:
        drm/i915: Fix lock dropping in intel_tv_detect()
        drm/i915: handle G45/GM45 pulse detection connected state.
      3aacfda0
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 44bf091f
      Linus Torvalds 提交于
      Pull input subsystem updates from Dmitry Torokhov:
       "A fix for MT breakage, enhancement to Elantech PS/2 driver and a
        couple of assorted fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: elantech - add support for trackpoint found on some v3 models
        Input: elantech - reset the device when elantech probe fails
        Input: ALPS - suppress message about 'Unknown touchpad'
        Input: fix used slots detection breakage
        Input: sparc - i8042-sparcio.h: fix unused kbd_res warning
        Input: atmel_mxt_ts - improve description of gpio-keymap property
      44bf091f
    • L
      Merge tag 'regmap-v3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · cce15667
      Linus Torvalds 提交于
      Pull regmap fixes from Mark Brown:
       "Several bug fixes for issues that have been lurking for a while:
      
         - Check that devices haven't set the flag saying they only support
           register at a time operation while we're doing cache syncs,
           otherwise we fail to restore caches
      
         - Ensure that we don't mark all registers on devices using
           format_write() as cacheable, avoiding adding a cache of things like
           reset registers which we don't want to rewrite during cache sync
      
         - Make sure we create the debugfs files in the correct directory"
      
      * tag 'regmap-v3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Don't attempt block writes when syncing cache on single_rw devices
        regmap: Fix handling of volatile registers for format_write() chips
        regmap: Fix regcache debugfs initialization
      cce15667
    • D
      toshiba_acpi: fix and cleanup toshiba_kbd_bl_mode_store() · aeaac098
      Dan Carpenter 提交于
      The current code just returns -EINVAL because mode can't be equal to
      both 1 and 2.
      
      Also this function is messy so I have cleaned it up:
      1) Remove initializers like "int time = -1".  Initializing variables to
         garbage values turns off GCC's uninitialized variable warnings so it
         can lead to bugs.
      2) Use kstrtoint() instead of sscanf().
      3) Use SCI_KBD_MODE_FNZ and SCI_KBD_MODE_AUTO instead of magic numbers 1
         and 2.
      4) Don't check for "mode == -1" because that can't happen.
      5) Preserve the error code from toshiba_kbd_illum_status_set().
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
      aeaac098
    • L
      Merge tag 'for-f2fs-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 70c8038d
      Linus Torvalds 提交于
      Pull f2fs bug fixes from Jaegeuk Kim:
       "This series includes patches to:
      
         - fix recovery routines
         - fix bugs related to inline_data/xattr
         - fix when casting the dentry names
         - handle EIO or ENOMEM correctly
         - fix memory leak
         - fix lock coverage"
      
      * tag 'for-f2fs-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (28 commits)
        f2fs: reposition unlock_new_inode to prevent accessing invalid inode
        f2fs: fix wrong casting for dentry name
        f2fs: simplify by using a literal
        f2fs: truncate stale block for inline_data
        f2fs: use macro for code readability
        f2fs: introduce need_do_checkpoint for readability
        f2fs: fix incorrect calculation with total/free inode num
        f2fs: remove rename and use rename2
        f2fs: skip if inline_data was converted already
        f2fs: remove rewrite_node_page
        f2fs: avoid double lock in truncate_blocks
        f2fs: prevent checkpoint during roll-forward
        f2fs: add WARN_ON in f2fs_bug_on
        f2fs: handle EIO not to break fs consistency
        f2fs: check s_dirty under cp_mutex
        f2fs: unlock_page when node page is redirtied out
        f2fs: introduce f2fs_cp_error for readability
        f2fs: give a chance to mount again when encountering errors
        f2fs: trigger release_dirty_inode in f2fs_put_super
        f2fs: don't skip checkpoint if there is no dirty node pages
        ...
      70c8038d
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 5a147c9f
      Linus Torvalds 提交于
      Pull key subsystem fixes from James Morris:
       "Fixes for the keys subsystem, one of which addresses a use-after-free
        bug"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        PEFILE: Relax the check on the length of the PKCS#7 cert
        KEYS: Fix use-after-free in assoc_array_gc()
        KEYS: Fix public_key asymmetric key subtype name
        KEYS: Increase root_maxkeys and root_maxbytes sizes
      5a147c9f
    • N
      ARC: [mm] Fix compilation breakage · 014018e0
      Noam Camus 提交于
      Structure name and variable name were erroneously interchanged
      Signed-off-by: NNoam Camus <noamc@ezchip.com>
      Acked-by: NVineet Gupta <vgupta@synopsys.com>
      [ Also removed pointless cast from "void *".  - Linus ]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      014018e0
  5. 03 9月, 2014 15 次提交
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 955837d8
      Linus Torvalds 提交于
      Pull more arm64 fixes from Will Deacon:
       "Another handful of arm64 fixes here.  They address some issues found
        by running smatch on the arch code (ignoring the false positives) and
        also stop 32-bit Android from losing track of its stack.
      
        There's one additional irq migration fix in the pipeline, but it came
        in after I'd tagged and tested this set.
      
         - a few fixes for real issues found by smatch (after Dan's talk at KS)
      
         - revert the /proc/cpuinfo changes merged during the merge window.
           We've opened a can of worms here, so we need to find out where we
           stand before we change this interface.
      
         - implement KSTK_ESP for compat tasks, otherwise 32-bit Android gets
           confused wondering where its [stack] has gone
      
         - misc fixes (fpsimd context handling, crypto, ...)"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        Revert "arm64: cpuinfo: print info for all CPUs"
        arm64: fix bug for reloading FPSIMD state after cpu power off
        arm64: report correct stack pointer in KSTK_ESP for compat tasks
        arm64: Add brackets around user_stack_pointer()
        arm64: perf: don't rely on layout of pt_regs when grabbing sp or pc
        arm64: ptrace: fix compat reg getter/setter return values
        arm64: ptrace: fix compat hardware watchpoint reporting
        arm64: Remove unused variable in head.S
        arm64/crypto: remove redundant update of data
      955837d8
    • L
      Merge tag 'pci-v3.17-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · f16c15a0
      Linus Torvalds 提交于
      Pull PCI fix from Bjorn Helgaas:
       "This fixes an ARM allmodconfig build problem:
      
        Remove module option for ST Microelectronics SPEAr13xx"
      
      * tag 'pci-v3.17-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: spear: Remove module option
      f16c15a0
    • L
      Merge branch 'leds-fixes-for-3.17' of... · 51fe4d3b
      Linus Torvalds 提交于
      Merge branch 'leds-fixes-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds
      
      Pull LED fix from Bryan Wu:
       "Hugh, Jiri and many other people found a kernel oops due to a LED
        change merged recently.  Now the right fix might just revert it and
        avoid the kernel oops"
      
      * 'leds-fixes-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
        Revert "leds: convert blink timer to workqueue"
      51fe4d3b
    • T
      Merge tag 'asoc-v3.17-rc3' of... · 05244d16
      Takashi Iwai 提交于
      Merge tag 'asoc-v3.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: Fixes for v3.17
      
      A few more driver specific fixes on top of the currently pending fixes
      (which are already in your tree but not Linus').
      05244d16
    • D
      Merge branch 'vmwgfx-fixes-3.17' of git://people.freedesktop.org/~thomash/linux into drm-fixes · 0977f906
      Dave Airlie 提交于
      Two vmwgfx fixes, marked for stable as well
      
      * 'vmwgfx-fixes-3.17' of git://people.freedesktop.org/~thomash/linux:
        drm/vmwgfx: Fix a potential infinite spin waiting for fifo idle
        drm/vmwgfx: Fix an incorrect OOM return value
      0977f906
    • D
      PEFILE: Relax the check on the length of the PKCS#7 cert · 0aa04094
      David Howells 提交于
      Relax the check on the length of the PKCS#7 cert as it appears that the PE
      file wrapper size gets rounded up to the nearest 8.
      
      The debugging output looks like this:
      
      	PEFILE: ==> verify_pefile_signature()
      	PEFILE: ==> pefile_parse_binary()
      	PEFILE: checksum @ 110
      	PEFILE: header size = 200
      	PEFILE: cert = 968 @547be0 [68 09 00 00 00 02 02 00 30 82 09 56 ]
      	PEFILE: sig wrapper = { 968, 200, 2 }
      	PEFILE: Signature data not PKCS#7
      
      The wrapper is the first 8 bytes of the hex dump inside [].  This indicates a
      length of 0x968 bytes, including the wrapper header - so 0x960 bytes of
      payload.
      
      The ASN.1 wrapper begins [ ... 30 82 09 56 ].  That indicates an object of size
      0x956 - a four byte discrepency, presumably just padding for alignment
      purposes.
      
      So we just check that the ASN.1 container is no bigger than the payload and
      reduce the recorded size appropriately.
      
      Whilst we're at it, allow shorter PKCS#7 objects that manage to squeeze within
      127 or 255 bytes.  It's just about conceivable if no X.509 certs are included
      in the PKCS#7 message.
      Reported-by: NVivek Goyal <vgoyal@redhat.com>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NVivek Goyal <vgoyal@redhat.com>
      Acked-by: NPeter Jones <pjones@redhat.com>
      Signed-off-by: NJames Morris <james.l.morris@oracle.com>
      0aa04094
    • D
      KEYS: Fix use-after-free in assoc_array_gc() · 27419604
      David Howells 提交于
      An edit script should be considered inaccessible by a function once it has
      called assoc_array_apply_edit() or assoc_array_cancel_edit().
      
      However, assoc_array_gc() is accessing the edit script just after the
      gc_complete: label.
      Reported-by: NAndreea-Cristina Bernat <bernat.ada@gmail.com>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Reviewed-by: NAndreea-Cristina Bernat <bernat.ada@gmail.com>
      cc: shemming@brocade.com
      cc: paulmck@linux.vnet.ibm.com
      Cc: stable@vger.kernel.org
      Signed-off-by: NJames Morris <james.l.morris@oracle.com>
      27419604
    • D
      KEYS: Fix public_key asymmetric key subtype name · 876c6e3e
      David Howells 提交于
      The length of the name of an asymmetric key subtype must be stored in struct
      asymmetric_key_subtype::name_len so that it can be matched by a search for
      "<subkey_name>:<partial_fingerprint>".  Fix the public_key subtype to have
      name_len set.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NJames Morris <james.l.morris@oracle.com>
      876c6e3e
    • S
      KEYS: Increase root_maxkeys and root_maxbytes sizes · 738c5d19
      Steve Dickson 提交于
      Now that NFS client uses the kernel key ring facility to store the NFSv4
      id/gid mappings, the defaults for root_maxkeys and root_maxbytes need to be
      substantially increased.
      
      These values have been soak tested:
      
      	https://bugzilla.redhat.com/show_bug.cgi?id=1033708#c73Signed-off-by: NSteve Dickson <steved@redhat.com>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NJames Morris <james.l.morris@oracle.com>
      738c5d19
    • B
      platform/x86: toshiba: re-enable acpi hotkeys after suspend to disk · e7fdb762
      Benjamin Tissoires 提交于
      On the Toshiba Tecra Z40, after a suspend-to-disk, some FN hotkeys
      driven by toshiba_acpi are not functional.
      
      Calling the ACPI object ENAB on resume makes them back alive.
      Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Acked-by: NMatthew Garrett <matthew.garrett@nebula.com>
      Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
      e7fdb762
    • M
      Merge remote-tracking branches 'asoc/fix/axi', 'asoc/fix/cs4265',... · f58f0cba
      Mark Brown 提交于
      Merge remote-tracking branches 'asoc/fix/axi', 'asoc/fix/cs4265', 'asoc/fix/da732x', 'asoc/fix/omap', 'asoc/fix/rsnd', 'asoc/fix/rt5640', 'asoc/fix/rt5677', 'asoc/fix/simple' and 'asoc/fix/tegra' into asoc-linus
      f58f0cba
    • M
      e65f6b1e
    • M
      ideapad-laptop: Constify DMI table for real! · b3d94d70
      Mathias Krause 提交于
      This is a follow-up patch to commit 49458e83 ("ideapad-laptop:
      Constify DMI table and other r/o variables") to do what its commit
      message says. The actual commit differs from the patch posted at
      https://www.mail-archive.com/platform-driver-x86@vger.kernel.org/msg05340.html
      significantly, probably due to a bad merge conflict resolution. Fix up
      the mess and constify the DMI table for real and fix the bogus
      double-const of ideapad_rfk_data[].
      Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NMathias Krause <minipli@googlemail.com>
      Cc: Matthew Garrett <matthew.garrett@nebula.com>
      Cc: Ike Panhc <ike.pan@canonical.com>
      Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
      b3d94d70
    • J
      aio: add missing smp_rmb() in read_events_ring · 2ff396be
      Jeff Moyer 提交于
      We ran into a case on ppc64 running mariadb where io_getevents would
      return zeroed out I/O events.  After adding instrumentation, it became
      clear that there was some missing synchronization between reading the
      tail pointer and the events themselves.  This small patch fixes the
      problem in testing.
      
      Thanks to Zach for helping to look into this, and suggesting the fix.
      Signed-off-by: NJeff Moyer <jmoyer@redhat.com>
      Signed-off-by: NBenjamin LaHaise <bcrl@kvack.org>
      Cc: stable@vger.kernel.org
      2ff396be
    • J
      Revert "leds: convert blink timer to workqueue" · 9067359f
      Jiri Kosina 提交于
      This reverts commit 8b37e1be.
      
      It's broken as it changes led_blink_set() in a way that it can now sleep
      (while synchronously waiting for workqueue to be cancelled). That's a
      problem, because it's possible that this function gets called from atomic
      context (tpt_trig_timer() takes a readlock and thus disables preemption).
      
      This has been brought up 3 weeks ago already [1] but no proper fix has
      materialized, and I keep seeing the problem since 3.17-rc1.
      
      [1] https://lkml.org/lkml/2014/8/16/128
      
       BUG: sleeping function called from invalid context at kernel/workqueue.c:2650
       in_atomic(): 1, irqs_disabled(): 0, pid: 2335, name: wpa_supplicant
       5 locks held by wpa_supplicant/2335:
        #0:  (rtnl_mutex){+.+.+.}, at: [<ffffffff814c7c92>] rtnl_lock+0x12/0x20
        #1:  (&wdev->mtx){+.+.+.}, at: [<ffffffffc06e649c>] cfg80211_mgd_wext_siwessid+0x5c/0x180 [cfg80211]
        #2:  (&local->mtx){+.+.+.}, at: [<ffffffffc0817dea>] ieee80211_prep_connection+0x17a/0x9a0 [mac80211]
        #3:  (&local->chanctx_mtx){+.+.+.}, at: [<ffffffffc08081ed>] ieee80211_vif_use_channel+0x5d/0x2a0 [mac80211]
        #4:  (&trig->leddev_list_lock){.+.+..}, at: [<ffffffffc081e68c>] tpt_trig_timer+0xec/0x170 [mac80211]
       CPU: 0 PID: 2335 Comm: wpa_supplicant Not tainted 3.17.0-rc3 #1
       Hardware name: LENOVO 7470BN2/7470BN2, BIOS 6DET38WW (2.02 ) 12/19/2008
        ffff8800360b5a50 ffff8800751f76d8 ffffffff8159e97f ffff8800360b5a30
        ffff8800751f76e8 ffffffff810739a5 ffff8800751f77b0 ffffffff8106862f
        ffffffff810685d0 0aa2209200000000 ffff880000000004 ffff8800361c59d0
       Call Trace:
        [<ffffffff8159e97f>] dump_stack+0x4d/0x66
        [<ffffffff810739a5>] __might_sleep+0xe5/0x120
        [<ffffffff8106862f>] flush_work+0x5f/0x270
        [<ffffffff810685d0>] ? mod_delayed_work_on+0x80/0x80
        [<ffffffff810945ca>] ? mark_held_locks+0x6a/0x90
        [<ffffffff81068a5f>] ? __cancel_work_timer+0x6f/0x100
        [<ffffffff810946ed>] ? trace_hardirqs_on_caller+0xfd/0x1c0
        [<ffffffff81068a6b>] __cancel_work_timer+0x7b/0x100
        [<ffffffff81068b0e>] cancel_delayed_work_sync+0xe/0x10
        [<ffffffff8147cf3b>] led_blink_set+0x1b/0x40
        [<ffffffffc081e6b0>] tpt_trig_timer+0x110/0x170 [mac80211]
        [<ffffffffc081ecdd>] ieee80211_mod_tpt_led_trig+0x9d/0x160 [mac80211]
        [<ffffffffc07e4278>] __ieee80211_recalc_idle+0x98/0x140 [mac80211]
        [<ffffffffc07e59ce>] ieee80211_idle_off+0xe/0x10 [mac80211]
        [<ffffffffc0804e5b>] ieee80211_add_chanctx+0x3b/0x220 [mac80211]
        [<ffffffffc08062e4>] ieee80211_new_chanctx+0x44/0xf0 [mac80211]
        [<ffffffffc080838a>] ieee80211_vif_use_channel+0x1fa/0x2a0 [mac80211]
        [<ffffffffc0817df8>] ieee80211_prep_connection+0x188/0x9a0 [mac80211]
        [<ffffffffc081c246>] ieee80211_mgd_auth+0x256/0x2e0 [mac80211]
        [<ffffffffc07eab33>] ieee80211_auth+0x13/0x20 [mac80211]
        [<ffffffffc06cb006>] cfg80211_mlme_auth+0x106/0x270 [cfg80211]
        [<ffffffffc06ce085>] cfg80211_conn_do_work+0x155/0x3b0 [cfg80211]
        [<ffffffffc06cf670>] cfg80211_connect+0x3f0/0x540 [cfg80211]
        [<ffffffffc06e6148>] cfg80211_mgd_wext_connect+0x158/0x1f0 [cfg80211]
        [<ffffffffc06e651e>] cfg80211_mgd_wext_siwessid+0xde/0x180 [cfg80211]
        [<ffffffffc06e36c0>] ? cfg80211_wext_giwessid+0x50/0x50 [cfg80211]
        [<ffffffffc06e36dd>] cfg80211_wext_siwessid+0x1d/0x40 [cfg80211]
        [<ffffffff81584d0c>] ioctl_standard_iw_point+0x14c/0x3e0
        [<ffffffff810946ed>] ? trace_hardirqs_on_caller+0xfd/0x1c0
        [<ffffffff8158502a>] ioctl_standard_call+0x8a/0xd0
        [<ffffffff81584fa0>] ? ioctl_standard_iw_point+0x3e0/0x3e0
        [<ffffffff81584b76>] wireless_process_ioctl.constprop.10+0xb6/0x100
        [<ffffffff8158521d>] wext_handle_ioctl+0x5d/0xb0
        [<ffffffff814cfb29>] dev_ioctl+0x329/0x620
        [<ffffffff810946ed>] ? trace_hardirqs_on_caller+0xfd/0x1c0
        [<ffffffff8149c7f2>] sock_ioctl+0x142/0x2e0
        [<ffffffff811b0140>] do_vfs_ioctl+0x300/0x520
        [<ffffffff815a67fb>] ? sysret_check+0x1b/0x56
        [<ffffffff810946ed>] ? trace_hardirqs_on_caller+0xfd/0x1c0
        [<ffffffff811b03e1>] SyS_ioctl+0x81/0xa0
        [<ffffffff815a67d6>] system_call_fastpath+0x1a/0x1f
       wlan0: send auth to 00:0b:6b:3c:8c:e4 (try 1/3)
       wlan0: authenticated
       wlan0: associate with 00:0b:6b:3c:8c:e4 (try 1/3)
       wlan0: RX AssocResp from 00:0b:6b:3c:8c:e4 (capab=0x431 status=0 aid=2)
       wlan0: associated
       IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
       cfg80211: Calling CRDA for country: NA
       wlan0: Limiting TX power to 27 (27 - 0) dBm as advertised by 00:0b:6b:3c:8c:e4
      
       =================================
       [ INFO: inconsistent lock state ]
       3.17.0-rc3 #1 Not tainted
       ---------------------------------
       inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
       swapper/0/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
        ((&(&led_cdev->blink_work)->work)){+.?...}, at: [<ffffffff810685d0>] flush_work+0x0/0x270
       {SOFTIRQ-ON-W} state was registered at:
         [<ffffffff81094dbe>] __lock_acquire+0x30e/0x1a30
         [<ffffffff81096c81>] lock_acquire+0x91/0x110
         [<ffffffff81068608>] flush_work+0x38/0x270
         [<ffffffff81068a6b>] __cancel_work_timer+0x7b/0x100
         [<ffffffff81068b0e>] cancel_delayed_work_sync+0xe/0x10
         [<ffffffff8147cf3b>] led_blink_set+0x1b/0x40
         [<ffffffffc081e6b0>] tpt_trig_timer+0x110/0x170 [mac80211]
         [<ffffffffc081ecdd>] ieee80211_mod_tpt_led_trig+0x9d/0x160 [mac80211]
         [<ffffffffc07e4278>] __ieee80211_recalc_idle+0x98/0x140 [mac80211]
         [<ffffffffc07e59ce>] ieee80211_idle_off+0xe/0x10 [mac80211]
         [<ffffffffc0804e5b>] ieee80211_add_chanctx+0x3b/0x220 [mac80211]
         [<ffffffffc08062e4>] ieee80211_new_chanctx+0x44/0xf0 [mac80211]
         [<ffffffffc080838a>] ieee80211_vif_use_channel+0x1fa/0x2a0 [mac80211]
         [<ffffffffc0817df8>] ieee80211_prep_connection+0x188/0x9a0 [mac80211]
         [<ffffffffc081c246>] ieee80211_mgd_auth+0x256/0x2e0 [mac80211]
         [<ffffffffc07eab33>] ieee80211_auth+0x13/0x20 [mac80211]
         [<ffffffffc06cb006>] cfg80211_mlme_auth+0x106/0x270 [cfg80211]
         [<ffffffffc06ce085>] cfg80211_conn_do_work+0x155/0x3b0 [cfg80211]
         [<ffffffffc06cf670>] cfg80211_connect+0x3f0/0x540 [cfg80211]
         [<ffffffffc06e6148>] cfg80211_mgd_wext_connect+0x158/0x1f0 [cfg80211]
         [<ffffffffc06e651e>] cfg80211_mgd_wext_siwessid+0xde/0x180 [cfg80211]
         [<ffffffffc06e36dd>] cfg80211_wext_siwessid+0x1d/0x40 [cfg80211]
         [<ffffffff81584d0c>] ioctl_standard_iw_point+0x14c/0x3e0
         [<ffffffff8158502a>] ioctl_standard_call+0x8a/0xd0
         [<ffffffff81584b76>] wireless_process_ioctl.constprop.10+0xb6/0x100
         [<ffffffff8158521d>] wext_handle_ioctl+0x5d/0xb0
         [<ffffffff814cfb29>] dev_ioctl+0x329/0x620
         [<ffffffff8149c7f2>] sock_ioctl+0x142/0x2e0
         [<ffffffff811b0140>] do_vfs_ioctl+0x300/0x520
         [<ffffffff811b03e1>] SyS_ioctl+0x81/0xa0
         [<ffffffff815a67d6>] system_call_fastpath+0x1a/0x1f
       irq event stamp: 493416
       hardirqs last  enabled at (493416): [<ffffffff81068a5f>] __cancel_work_timer+0x6f/0x100
       hardirqs last disabled at (493415): [<ffffffff81067e9f>] try_to_grab_pending+0x1f/0x160
       softirqs last  enabled at (493408): [<ffffffff81053ced>] _local_bh_enable+0x1d/0x50
       softirqs last disabled at (493409): [<ffffffff81054c75>] irq_exit+0xa5/0xb0
      
       other info that might help us debug this:
        Possible unsafe locking scenario:
      
              CPU0
              ----
         lock((&(&led_cdev->blink_work)->work));
         <Interrupt>
           lock((&(&led_cdev->blink_work)->work));
      
        *** DEADLOCK ***
      
       2 locks held by swapper/0/0:
        #0:  (((&tpt_trig->timer))){+.-...}, at: [<ffffffff810b4c50>] call_timer_fn+0x0/0x180
        #1:  (&trig->leddev_list_lock){.+.?..}, at: [<ffffffffc081e68c>] tpt_trig_timer+0xec/0x170 [mac80211]
      
       stack backtrace:
       CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.17.0-rc3 #1
       Hardware name: LENOVO 7470BN2/7470BN2, BIOS 6DET38WW (2.02 ) 12/19/2008
        ffffffff8246eb30 ffff88007c203b00 ffffffff8159e97f ffffffff81a194c0
        ffff88007c203b50 ffffffff81599c29 0000000000000001 ffffffff00000001
        ffff880000000000 0000000000000006 ffffffff81a194c0 ffffffff81093ad0
       Call Trace:
        <IRQ>  [<ffffffff8159e97f>] dump_stack+0x4d/0x66
        [<ffffffff81599c29>] print_usage_bug+0x1f4/0x205
        [<ffffffff81093ad0>] ? check_usage_backwards+0x140/0x140
        [<ffffffff810944d3>] mark_lock+0x223/0x2b0
        [<ffffffff81094d60>] __lock_acquire+0x2b0/0x1a30
        [<ffffffff81096c81>] lock_acquire+0x91/0x110
        [<ffffffff810685d0>] ? mod_delayed_work_on+0x80/0x80
        [<ffffffffc081e5a0>] ? __ieee80211_get_rx_led_name+0x10/0x10 [mac80211]
        [<ffffffff81068608>] flush_work+0x38/0x270
        [<ffffffff810685d0>] ? mod_delayed_work_on+0x80/0x80
        [<ffffffff810945ca>] ? mark_held_locks+0x6a/0x90
        [<ffffffff81068a5f>] ? __cancel_work_timer+0x6f/0x100
        [<ffffffffc081e5a0>] ? __ieee80211_get_rx_led_name+0x10/0x10 [mac80211]
        [<ffffffff8109469d>] ? trace_hardirqs_on_caller+0xad/0x1c0
        [<ffffffffc081e5a0>] ? __ieee80211_get_rx_led_name+0x10/0x10 [mac80211]
        [<ffffffff81068a6b>] __cancel_work_timer+0x7b/0x100
        [<ffffffff81068b0e>] cancel_delayed_work_sync+0xe/0x10
        [<ffffffff8147cf3b>] led_blink_set+0x1b/0x40
        [<ffffffffc081e6b0>] tpt_trig_timer+0x110/0x170 [mac80211]
        [<ffffffff810b4cc5>] call_timer_fn+0x75/0x180
        [<ffffffff810b4c50>] ? process_timeout+0x10/0x10
        [<ffffffffc081e5a0>] ? __ieee80211_get_rx_led_name+0x10/0x10 [mac80211]
        [<ffffffff810b50ac>] run_timer_softirq+0x1fc/0x2f0
        [<ffffffff81054805>] __do_softirq+0x115/0x2e0
        [<ffffffff81054c75>] irq_exit+0xa5/0xb0
        [<ffffffff810049b3>] do_IRQ+0x53/0xf0
        [<ffffffff815a74af>] common_interrupt+0x6f/0x6f
        <EOI>  [<ffffffff8147b56e>] ? cpuidle_enter_state+0x6e/0x180
        [<ffffffff8147b732>] cpuidle_enter+0x12/0x20
        [<ffffffff8108bba0>] cpu_startup_entry+0x330/0x360
        [<ffffffff8158fb51>] rest_init+0xc1/0xd0
        [<ffffffff8158fa90>] ? csum_partial_copy_generic+0x170/0x170
        [<ffffffff81af3ff2>] start_kernel+0x44f/0x45a
        [<ffffffff81af399c>] ? set_init_arg+0x53/0x53
        [<ffffffff81af35ad>] x86_64_start_reservations+0x2a/0x2c
        [<ffffffff81af36a0>] x86_64_start_kernel+0xf1/0xf4
      
      Cc: Vincent Donnefort <vdonnefort@gmail.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Tejun Heo <tj@kernel.org>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      Signed-off-by: NBryan Wu <cooloney@gmail.com>
      9067359f