commit 31ad7cdd37a0a9eb80318f8aa567064f3e7b5b0b
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Mon Apr 13 14:04:12 2015 +0200

    Linux 3.19.4

commit 50bc7bc7287391f6ab420ae86814751d20e945a9
Author: Ameya Palande <2ameya@gmail.com>
Date:   Thu Feb 26 12:05:51 2015 -0800

    mfd: kempld-core: Fix callback return value check
    
    commit c8648508ebfc597058d2cd00b6c539110264a167 upstream.
    
    On success, callback function returns 0. So invert the if condition
    check so that we can break out of loop.
    
    Signed-off-by: Ameya Palande <2ameya@gmail.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e8f86a9ba285bbf50aac67e03726e33bbf97f685
Author: Markos Chandras <markos.chandras@imgtec.com>
Date:   Thu Mar 19 10:28:14 2015 +0000

    net: ethernet: pcnet32: Setup the SRAM and NOUFLO on Am79C97{3, 5}
    
    commit 87f966d97b89774162df04d2106c6350c8fe4cb3 upstream.
    
    On a MIPS Malta board, tons of fifo underflow errors have been observed
    when using u-boot as bootloader instead of YAMON. The reason for that
    is that YAMON used to set the pcnet device to SRAM mode but u-boot does
    not. As a result, the default Tx threshold (64 bytes) is now too small to
    keep the fifo relatively used and it can result to Tx fifo underflow errors.
    As a result of which, it's best to setup the SRAM on supported controllers
    so we can always use the NOUFLO bit.
    
    Cc: <netdev@vger.kernel.org>
    Cc: <linux-kernel@vger.kernel.org>
    Cc: Don Fry <pcnet32@frontier.com>
    Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit db5bb38e9e628c79bba709e0de6dea1863597caf
Author: Scott Wood <scottwood@freescale.com>
Date:   Wed Dec 17 19:06:31 2014 -0600

    powerpc/mpc85xx: Add ranges to etsec2 nodes
    
    commit bb344ca5b90df62b1a3b7a35c6a9d00b306a170d upstream.
    
    Commit 746c9e9f92dd "of/base: Fix PowerPC address parsing hack" limited
    the applicability of the workaround whereby a missing ranges is treated
    as an empty ranges.  This workaround was hiding a bug in the etsec2
    device tree nodes, which have children with reg, but did not have
    ranges.
    
    Signed-off-by: Scott Wood <scottwood@freescale.com>
    Reported-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 78db0115d87fc97513a84fb739ee74d1af34aef2
Author: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
Date:   Wed Mar 4 11:59:33 2015 -0800

    powerpc/pseries: Little endian fixes for post mobility device tree update
    
    commit f6ff04149637723261aa4738958b0098b929ee9e upstream.
    
    We currently use the device tree update code in the kernel after resuming
    from a suspend operation to re-sync the kernels view of the device tree with
    that of the hypervisor. The code as it stands is not endian safe as it relies
    on parsing buffers returned by RTAS calls that thusly contains data in big
    endian format.
    
    This patch annotates variables and structure members with __be types as well
    as performing necessary byte swaps to cpu endian for data that needs to be
    parsed.
    
    Signed-off-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
    Cc: Nathan Fontenot <nfont@linux.vnet.ibm.com>
    Cc: Cyril Bur <cyrilbur@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f179d6a3e20afc890989c96df3d873daee0fed09
Author: Steve Capper <steve.capper@linaro.org>
Date:   Sun Mar 22 14:51:51 2015 +0000

    arm64: percpu: Make this_cpu accessors pre-empt safe
    
    commit f3eab7184ddcd4867cf42e3274ba24a66e1e093d upstream.
    
    this_cpu operations were implemented for arm64 in:
     5284e1b arm64: xchg: Implement cmpxchg_double
     f97fc81 arm64: percpu: Implement this_cpu operations
    
    Unfortunately, it is possible for pre-emption to take place between
    address generation and data access. This can lead to cases where data
    is being manipulated by this_cpu for a different CPU than it was
    called on. Which effectively breaks the spec.
    
    This patch disables pre-emption for the this_cpu operations
    guaranteeing that address generation and data manipulation take place
    without a pre-emption in-between.
    
    Fixes: 5284e1b4bc8a ("arm64: xchg: Implement cmpxchg_double")
    Fixes: f97fc810798c ("arm64: percpu: Implement this_cpu operations")
    Reported-by: Mark Rutland <mark.rutland@arm.com>
    Acked-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Steve Capper <steve.capper@linaro.org>
    [catalin.marinas@arm.com: remove space after type cast]
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7521625c56d08fd27c20cf88423b41067bb5a03c
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Mon Mar 23 15:06:50 2015 +0000

    arm64: Use the reserved TTBR0 if context switching to the init_mm
    
    commit e53f21bce4d35a93b23d8fa1a840860f6c74f59e upstream.
    
    The idle_task_exit() function may call switch_mm() with next ==
    &init_mm. On arm64, init_mm.pgd cannot be used for user mappings, so
    this patch simply sets the reserved TTBR0.
    
    Reported-by: Jon Medhurst (Tixy) <tixy@linaro.org>
    Tested-by: Jon Medhurst (Tixy) <tixy@linaro.org>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4b38884078bea8fe24486845caa3883fa4fa5460
Author: Keerthy <j-keerthy@ti.com>
Date:   Tue Mar 17 15:56:04 2015 +0530

    regulator: palmas: Correct TPS659038 register definition for REGEN2
    
    commit e03826d5045e81a66a4fad7be9a8ecdaeb7911cf upstream.
    
    The register offset for REGEN2_CTRL in different for TPS659038 chip as when
    compared with other Palmas family PMICs. In the case of TPS659038 the wrong
    offset pointed to PLLEN_CTRL and was causing a hang. Correcting the same.
    
    Signed-off-by: Keerthy <j-keerthy@ti.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 88519acc5f9c96fe6661157ddfa275e743aca4c1
Author: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Date:   Tue Mar 17 16:14:41 2015 +0530

    powerpc/book3s: Fix the MCE code to use CONFIG_KVM_BOOK3S_64_HANDLER
    
    commit 44d5f6f5901e996744858c175baee320ccf1eda3 upstream.
    
    commit id 2ba9f0d has changed CONFIG_KVM_BOOK3S_64_HV to tristate to allow
    HV/PR bits to be built as modules. But the MCE code still depends on
    CONFIG_KVM_BOOK3S_64_HV which is wrong. When user selects
    CONFIG_KVM_BOOK3S_64_HV=m to build HV/PR bits as a separate module the
    relevant MCE code gets excluded.
    
    This patch fixes the MCE code to use CONFIG_KVM_BOOK3S_64_HANDLER. This
    makes sure that the relevant MCE code is included when HV/PR bits
    are built as a separate modules.
    
    Fixes: 2ba9f0d88750 ("kvm: powerpc: book3s: Support building HV and PR KVM as module")
    Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
    Acked-by: Paul Mackerras <paulus@samba.org>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 43494e51baa34c20f7d1f7135cc960cacb08c5a4
Author: Sergei Antonov <saproj@gmail.com>
Date:   Wed Mar 25 15:55:34 2015 -0700

    hfsplus: fix B-tree corruption after insertion at position 0
    
    commit 98cf21c61a7f5419d82f847c4d77bf6e96a76f5f upstream.
    
    Fix B-tree corruption when a new record is inserted at position 0 in the
    node in hfs_brec_insert().  In this case a hfs_brec_update_parent() is
    called to update the parent index node (if exists) and it is passed
    hfs_find_data with a search_key containing a newly inserted key instead
    of the key to be updated.  This results in an inconsistent index node.
    The bug reproduces on my machine after an extents overflow record for
    the catalog file (CNID=4) is inserted into the extents overflow B-tree.
    Because of a low (reserved) value of CNID=4, it has to become the first
    record in the first leaf node.
    
    The resulting first leaf node is correct:
    
      ----------------------------------------------------
      | key0.CNID=4 | key1.CNID=123 | key2.CNID=456, ... |
      ----------------------------------------------------
    
    But the parent index key0 still contains the previous key CNID=123:
    
      -----------------------
      | key0.CNID=123 | ... |
      -----------------------
    
    A change in hfs_brec_insert() makes hfs_brec_update_parent() work
    correctly by preventing it from getting fd->record=-1 value from
    __hfs_brec_find().
    
    Along the way, I removed duplicate code with unification of the if
    condition.  The resulting code is equivalent to the original code
    because node is never 0.
    
    Also hfs_brec_update_parent() will now return an error after getting a
    negative fd->record value.  However, the return value of
    hfs_brec_update_parent() is not checked anywhere in the file and I'm
    leaving it unchanged by this patch.  brec.c lacks error checking after
    some other calls too, but this issue is of less importance than the one
    being fixed by this patch.
    
    Signed-off-by: Sergei Antonov <saproj@gmail.com>
    Cc: Joe Perches <joe@perches.com>
    Reviewed-by: Vyacheslav Dubeyko <slava@dubeyko.com>
    Acked-by: Hin-Tak Leung <htl10@users.sourceforge.net>
    Cc: Anton Altaparmakov <aia21@cam.ac.uk>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Christoph Hellwig <hch@infradead.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 68cbb4c02677613554d9c2267d38cca68bf65cd0
Author: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date:   Wed Mar 18 11:27:28 2015 +0100

    spi: trigger trace event for message-done before mesg->complete
    
    commit 391949b6f02121371e3d7d9082c6d17fd9853034 upstream.
    
    With spidev the mesg->complete callback points to spidev_complete.
    Calling this unblocks spidev_sync and so spidev_sync_write finishes. As
    the struct spi_message just read is a local variable in
    spidev_sync_write and recording the trace event accesses this message
    the recording is better done first. The same can happen for
    spidev_sync_read.
    
    This fixes an oops observed on a 3.14-rt system with spidev activity
    after
    
    	echo 1 > /sys/kernel/debug/tracing/events/spi/enable
    
     .
    
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 68cbdc1ae6dc23f7ee1ffdc59e30a34ccae56997
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Fri Mar 6 14:42:01 2015 +0200

    spi: dw-mid: clear BUSY flag fist and test other one
    
    commit 854d2f241d71f6ca08ccde30e6c7c2e403363e52 upstream.
    
    The logic of DMA completion is broken now since test_and_clear_bit() never
    returns the other bit is set. It means condition are always false and we have
    spi_finalize_current_transfer() called per each DMA completion which is wrong.
    
    The patch fixes logic by clearing BUSY bit first and then check for the other
    one.
    
    Fixes: 30c8eb52cc4a (spi: dw-mid: split rx and tx callbacks when DMA)
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2d57a8c4b8ca69d46a7244a9581334542f98bc33
Author: Ivan T. Ivanov <iivanov@mm-sol.com>
Date:   Fri Mar 6 17:26:17 2015 +0200

    spi: qup: Fix cs-num DT property parsing
    
    commit 12cb89e37a0c25fae7a0f1d2e4985558db9d0b13 upstream.
    
    num-cs is 32 bit property, don't read just upper 16 bits.
    
    Fixes: 4a8573abe965 (spi: qup: Remove chip select function)
    Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 13027463097742b5901b1fb4a0a458a2f6dc467d
Author: Mikulas Patocka <mpatocka@redhat.com>
Date:   Thu Feb 26 11:41:28 2015 -0500

    dm snapshot: suspend merging snapshot when doing exception handover
    
    commit 09ee96b21456883e108c3b00597bb37ec512151b upstream.
    
    The "dm snapshot: suspend origin when doing exception handover" commit
    fixed a exception store handover bug associated with pending exceptions
    to the "snapshot-origin" target.
    
    However, a similar problem exists in snapshot merging.  When snapshot
    merging is in progress, we use the target "snapshot-merge" instead of
    "snapshot-origin".  Consequently, during exception store handover, we
    must find the snapshot-merge target and suspend its associated
    mapped_device.
    
    To avoid lockdep warnings, the target must be suspended and resumed
    without holding _origins_lock.
    
    Introduce a dm_hold() function that grabs a reference on a
    mapped_device, but unlike dm_get(), it doesn't crash if the device has
    the DMF_FREEING flag set, it returns an error in this case.
    
    In snapshot_resume() we grab the reference to the origin device using
    dm_hold() while holding _origins_lock (_origins_lock guarantees that the
    device won't disappear).  Then we release _origins_lock, suspend the
    device and grab _origins_lock again.
    
    NOTE to stable@ people:
    When backporting to kernels 3.18 and older, use dm_internal_suspend and
    dm_internal_resume instead of dm_internal_suspend_fast and
    dm_internal_resume_fast.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3d9f57bb1c694d1cf6ba998cb960ed045b02726e
Author: Mikulas Patocka <mpatocka@redhat.com>
Date:   Thu Feb 26 11:40:35 2015 -0500

    dm snapshot: suspend origin when doing exception handover
    
    commit b735fede8d957d9d255e9c5cf3964cfa59799637 upstream.
    
    In the function snapshot_resume we perform exception store handover.  If
    there is another active snapshot target, the exception store is moved
    from this target to the target that is being resumed.
    
    The problem is that if there is some pending exception, it will point to
    an incorrect exception store after that handover, causing a crash due to
    dm-snap-persistent.c:get_exception()'s BUG_ON.
    
    This bug can be triggered by repeatedly changing snapshot permissions
    with "lvchange -p r" and "lvchange -p rw" while there are writes on the
    associated origin device.
    
    To fix this bug, we must suspend the origin device when doing the
    exception store handover to make sure that there are no pending
    exceptions:
    - introduce _origin_hash that keeps track of dm_origin structures.
    - introduce functions __lookup_dm_origin, __insert_dm_origin and
      __remove_dm_origin that manipulate the origin hash.
    - modify snapshot_resume so that it calls dm_internal_suspend_fast() and
      dm_internal_resume_fast() on the origin device.
    
    NOTE to stable@ people:
    
    When backporting to kernels 3.12-3.18, use dm_internal_suspend and
    dm_internal_resume instead of dm_internal_suspend_fast and
    dm_internal_resume_fast.
    
    When backporting to kernels older than 3.12, you need to pick functions
    dm_internal_suspend and dm_internal_resume from the commit
    fd2ed4d252701d3bbed4cd3e3d267ad469bb832a.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b6bf8494e4fb260bf8738a1d1c9434df4996eedf
Author: Joe Thornber <ejt@redhat.com>
Date:   Fri Feb 27 14:09:12 2015 +0000

    dm thin: fix to consistently zero-fill reads to unprovisioned blocks
    
    commit 5f027a3bf184d1d36e68745f7cd3718a8b879cc0 upstream.
    
    It was always intended that a read to an unprovisioned block will return
    zeroes regardless of whether the pool is in read-only or read-write
    mode.  thin_bio_map() was inconsistent with its handling of such reads
    when the pool is in read-only mode, it now properly zero-fills the bios
    it returns in response to unprovisioned block reads.
    
    Eliminate thin_bio_map()'s special read-only mode handling of -ENODATA
    and just allow the IO to be deferred to the worker which will result in
    pool->process_bio() handling the IO (which already properly zero-fills
    reads to unprovisioned blocks).
    
    Reported-by: Eric Sandeen <sandeen@redhat.com>
    Signed-off-by: Joe Thornber <ejt@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f067d93f11803f587ec2947ba8ac2e4c5f7e3fd9
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Fri Feb 27 10:44:38 2015 -0800

    dm io: deal with wandering queue limits when handling REQ_DISCARD and REQ_WRITE_SAME
    
    commit e5db29806b99ce2b2640d2e4d4fcb983cea115c5 upstream.
    
    Since it's possible for the discard and write same queue limits to
    change while the upper level command is being sliced and diced, fix up
    both of them (a) to reject IO if the special command is unsupported at
    the start of the function and (b) read the limits once and let the
    commands error out on their own if the status happens to change.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 72267c2e77226ebfca62d8dbb9bb8fca061bd914
Author: Mikulas Patocka <mpatocka@redhat.com>
Date:   Fri Feb 27 14:04:27 2015 -0500

    dm: hold suspend_lock while suspending device during device deletion
    
    commit ab7c7bb6f4ab95dbca96fcfc4463cd69843e3e24 upstream.
    
    __dm_destroy() must take the suspend_lock so that its presuspend and
    postsuspend calls do not race with an internal suspend.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fd55246133075d717f1466a32bb3e295d056a454
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Mon Mar 9 12:16:42 2015 +0200

    dmaengine: dw: append MODULE_ALIAS for platform driver
    
    commit a104a45ba7a51b5b4c5e8437020d9d48edf22f89 upstream.
    
    The commit 9cade1a46c77 (dma: dw: split driver to library part and platform
    code) introduced a separate platform driver but missed to add a
    MODULE_ALIAS("platform:dw_dmac"); to that module.
    
    The patch adds this to get driver loaded automatically if platform device is
    registered.
    
    Reported-by: "Blin, Jerome" <jerome.blin@intel.com>
    Fixes: 9cade1a46c77 (dma: dw: split driver to library part and platform code)
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 99aadf9b8e6344eba5e841446fc16370636e0f40
Author: Malcolm Priestley <tvboxspy@gmail.com>
Date:   Sat Mar 7 17:04:55 2015 +0000

    vt6655: Fix late setting of byRFType.
    
    commit 1f51d5801859e0b382dcc8f06875811d63ec8953 upstream.
    
    byRFType is not set prior to registration of mac80211 causing
    unpredictable operation after channel scans.
    
    With byRFType unset all channels are enabled this causes tx power
    to be set to values not present its eeprom.
    
    Move setting of this variable to vt6655_probe.
    
    byRFType must have a mask set. byRevId not used by driver and
    is removed.
    
    Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cb5e2a71141b7527472d7727ef4c76c90018ebe7
Author: Malcolm Priestley <tvboxspy@gmail.com>
Date:   Sat Mar 7 17:04:54 2015 +0000

    vt6655: RFbSetPower fix missing rate RATE_12M
    
    commit 40c8790bcb7ac74f3038153cd09310e220c6a1df upstream.
    
    When the driver sets this rate a power of zero value is set causing
    data flow stoppage until another rate is tried.
    
    Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ab4eba1a775b8a1eaf94ffe1abd2d588943460df
Author: Malcolm Priestley <tvboxspy@gmail.com>
Date:   Sat Mar 7 16:36:37 2015 +0000

    staging: vt6656: vnt_rf_setpower: fix missing rate RATE_12M
    
    commit 163fe301b9f78b6de57d0014eafe504fd20c0cd4 upstream.
    
    When the driver sets this rate a power of zero value is set causing
    data flow stoppage until another rate is tried.
    
    Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 20a517d114bc76e850ad4e8e9d5c002df2ab7c4d
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Thu Feb 19 18:03:11 2015 +0100

    perf: Fix irq_work 'tail' recursion
    
    commit d525211f9d1be8b523ec7633f080f2116f5ea536 upstream.
    
    Vince reported a watchdog lockup like:
    
    	[<ffffffff8115e114>] perf_tp_event+0xc4/0x210
    	[<ffffffff810b4f8a>] perf_trace_lock+0x12a/0x160
    	[<ffffffff810b7f10>] lock_release+0x130/0x260
    	[<ffffffff816c7474>] _raw_spin_unlock_irqrestore+0x24/0x40
    	[<ffffffff8107bb4d>] do_send_sig_info+0x5d/0x80
    	[<ffffffff811f69df>] send_sigio_to_task+0x12f/0x1a0
    	[<ffffffff811f71ce>] send_sigio+0xae/0x100
    	[<ffffffff811f72b7>] kill_fasync+0x97/0xf0
    	[<ffffffff8115d0b4>] perf_event_wakeup+0xd4/0xf0
    	[<ffffffff8115d103>] perf_pending_event+0x33/0x60
    	[<ffffffff8114e3fc>] irq_work_run_list+0x4c/0x80
    	[<ffffffff8114e448>] irq_work_run+0x18/0x40
    	[<ffffffff810196af>] smp_trace_irq_work_interrupt+0x3f/0xc0
    	[<ffffffff816c99bd>] trace_irq_work_interrupt+0x6d/0x80
    
    Which is caused by an irq_work generating new irq_work and therefore
    not allowing forward progress.
    
    This happens because processing the perf irq_work triggers another
    perf event (tracepoint stuff) which in turn generates an irq_work ad
    infinitum.
    
    Avoid this by raising the recursion counter in the irq_work -- which
    effectively disables all software events (including tracepoints) from
    actually triggering again.
    
    Reported-by: Vince Weaver <vincent.weaver@maine.edu>
    Tested-by: Vince Weaver <vincent.weaver@maine.edu>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Link: http://lkml.kernel.org/r/20150219170311.GH21418@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 874fee53430ab4fd92326832a99402d00e1f629c
Author: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Date:   Wed Mar 18 00:21:32 2015 +0200

    of/irq: Fix of_irq_parse_one() returned error codes
    
    commit d7c146053dd195b90c79b9b8131431f44541d015 upstream.
    
    The error code paths that require cleanup use a goto to jump to the
    cleanup code and return an error code. However, the error code variable
    res, which is initialized to -EINVAL when declared, is then overwritten
    with the return value of of_parse_phandle_with_args(), and reused as the
    return code from of_irq_parse_one(). This leads to an undetermined error
    being returned instead of the expected -EINVAL value. Fix it.
    
    Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bae96235997e41843eeb118bfb12aa4365266ce2
Author: Pontus Fuchs <pontusf@broadcom.com>
Date:   Fri Mar 6 16:18:41 2015 +0100

    brcmfmac: Perform bound checking on vendor command buffer
    
    commit 3f1615340acea54e21f4b9d4d65921540dca84b2 upstream.
    
    A short or malformed vendor command buffer could cause reads outside
    the command buffer.
    
    Signed-off-by: Pontus Fuchs <pontusf@broadcom.com>
    [arend@broadcom.com: slightly modified debug trace output]
    Signed-off-by: Arend van Spriel <arend@broadcom.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9ce9d3fb7754af5f731499ec87b842739db4d03a
Author: Gregory CLEMENT <gregory.clement@free-electrons.com>
Date:   Thu Feb 26 18:20:48 2015 +0100

    cpuidle: mvebu: Fix the CPU PM notifier usage
    
    commit 43b68879de27b1993518687fbc6013da80cdcbfe upstream.
    
    As stated in kernel/cpu_pm.c, "Platform is responsible for ensuring
    that cpu_pm_enter is not called twice on the same CPU before
    cpu_pm_exit is called.". In the current code in case of failure when
    calling mvebu_v7_cpu_suspend, the function cpu_pm_exit() is never
    called whereas cpu_pm_enter() was called just before.
    
    This patch moves the cpu_pm_exit() in order to balance the
    cpu_pm_enter() calls.
    
    Reported-by: Fulvio Benini <fbf@libero.it>
    Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
    Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 200f5a5c688f410b599805ff0f08c54aeffd3156
Author: Larry Finger <Larry.Finger@lwfinger.net>
Date:   Tue Feb 24 09:23:01 2015 -0600

    rtlwifi: Improve handling of IPv6 packets
    
    commit c8f0345586694a33f828bc6b177fb21eb1702325 upstream.
    
    Routine rtl_is_special_data() is supposed to identify packets that need to
    use a low bit rate so that the probability of successful transmission is
    high. The current version has a bug that causes all IPv6 packets to be
    labelled as special, with a corresponding low rate of transmission. A
    complete fix will be quite intrusive, but until that is available, all
    IPv6 packets are identified as regular.
    
    This patch also removes a magic number.
    
    Reported-and-tested-by: Alan Fisher <acf@unixcube.org>
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Cc: Alan Fisher <acf@unixcube.org>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 78dc9937928e17b285d66d5173aceff46fd69e0b
Author: Thierry Reding <treding@nvidia.com>
Date:   Wed Feb 25 16:16:29 2015 +0100

    phy: Find the right match in devm_phy_destroy()
    
    commit 2f1bce487cd0a02623cff3d877940f9a2026341c upstream.
    
    devm_phy_create() stores the pointer to the new PHY at the address
    returned by devres_alloc(). The res parameter passed to devm_phy_match()
    is therefore the location where the pointer to the PHY is stored, hence
    it needs to be dereferenced before comparing to the match data in order
    to find the correct match.
    
    Signed-off-by: Thierry Reding <treding@nvidia.com>
    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 75d10b6098a419dca452c86ee6b2f4117006f826
Author: Peter Chen <peter.chen@freescale.com>
Date:   Thu Mar 12 09:47:53 2015 +0800

    usb: common: otg-fsm: only signal connect after switching to peripheral
    
    commit a886bd92267c9e3d5c912860c6fb5a68479a7643 upstream.
    
    We should signal connect (pull up dp) after we have already
    at peripheral mode, otherwise, the dp may be toggled due to
    we reset controller or do disconnect during the initialization
    for peripheral, then, the host may be confused during the
    enumeration, eg, it finds the reset can't succeed, but the
    device is still there, see below error message.
    
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: cannot reset port 1 (err = -32)
    hub 1-0:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
    hub 1-0:1.0: unable to enumerate USB device on port 1
    
    Fixes: the issue existed when the otg fsm code was added.
    Signed-off-by: Peter Chen <peter.chen@freescale.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f232e3d094d55315cd9801db669850068e0cfc06
Author: Li Jun <B47624@freescale.com>
Date:   Sun Mar 8 16:05:01 2015 +0800

    usb: chipidea: otg: add a_alt_hnp_support response for B device
    
    commit d20f7807996c69537e07443ef8dec4e01a28b099 upstream.
    
    This patch adds response to a_alt_hnp_support set feature request from legacy
    A device, that is, B-device can provide a message to the user indicating that
    the user needs to connect the B-device to an alternate port on the A-device.
    A device sets this feature indicates to the B-device that it is connected
    to an A-device port that is not capable of HNP, but that the A-device does have
    an alternate port that is capable of HNP.
    
    [Peter]
    Without this patch, the OTG B device can't be enumerated on
    non-HNP port at A device, see below log:
    [    2.287464] usb 1-1: Dual-Role OTG device on non-HNP port
    [    2.293105] usb 1-1: can't set HNP mode: -32
    [    2.417422] usb 1-1: new high-speed USB device number 4 using ci_hdrc
    [    2.460635] usb 1-1: Dual-Role OTG device on non-HNP port
    [    2.466424] usb 1-1: can't set HNP mode: -32
    [    2.587464] usb 1-1: new high-speed USB device number 5 using ci_hdrc
    [    2.630649] usb 1-1: Dual-Role OTG device on non-HNP port
    [    2.636436] usb 1-1: can't set HNP mode: -32
    [    2.641003] usb usb1-port1: unable to enumerate USB device
    
    Acked-by: Peter Chen <peter.chen@freescale.com>
    Signed-off-by: Li Jun <b47624@freescale.com>
    Signed-off-by: Peter Chen <peter.chen@freescale.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2904a33c4b08922cdae642a528ef4df2487b56da
Author: David Dueck <davidcdueck@googlemail.com>
Date:   Sun Feb 8 16:29:30 2015 +0100

    usb: phy: am335x-control: check return value of bus_find_device
    
    commit d0f347d62814ec0f599a05c61c5619d5e999e4ae upstream.
    
    This fixes a potential null pointer dereference.
    
    Fixes: d4332013919a ("driver core: dev_get_drvdata: Don't check for NULL dev")
    Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: David Dueck <davidcdueck@googlemail.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3a72c7f1bc0d055493ade4ab4d017309268d526c
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Mon Mar 16 15:18:13 2015 +0100

    uas: Add US_FL_NO_ATA_1X for Initio Corporation controllers / devices
    
    commit bda13e35d584dabf52c9f77e0fe62683ac4d9f86 upstream.
    
    A new uas compatible controller has shown up in some people's devices from
    the manufacturer Initio Corporation, this controller needs the US_FL_NO_ATA_1X
    quirk to work properly with uas, so add it to the uas quirks table.
    
    Reported-and-tested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fa12a956ac8d90fd0403efe68e3111dc7884ceb6
Author: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Date:   Sun Feb 15 18:33:23 2015 +0200

    iwlwifi: mvm: Fix ROC removal
    
    commit 833d9b9785b3eedfaf2c869a6a63deba88058599 upstream.
    
    iwl_mvm_stop_roc removes TE only if running flag is set. This is not correct
    since this flag is only set when the TE is started.
    This resulted in a TE not being removed, when mac80211 believes that there are
    no active ROCs.
    
    Fixes: bf5da87f60a9 ("iwlwifi: mvm: add remove flow for AUX ROC time events")
    Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
    Reviewed-by: Matti Gottlieb <matti.gottlieb@intel.com>
    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 145962ee31829390e43a61a53008dde37d428b2f
Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Date:   Thu Mar 5 13:43:15 2015 +0200

    iwlwifi: mvm: BT Coex - fix a NULL pointer exception
    
    commit 4cd4b50cc2429294c23a1998c33fdfd804db0f37 upstream.
    
    The commit below introduced an unsafe dereference of
    mvmvif->phy_ctxt. It can be NULL even if we hold the mutex.
    We can be handling a BT Coex notification while the vif has
    already been unassigned. This can happen since the BT Coex
    notification is hanled asynchronuously: we can have started
    to handle the BT Coex notification trying to acquire the
    mutex while the unassign flow already got it. The BT Coex
    notification handling will wait for the mutext. I'll get it
    later, but then mvmvif->phy_ctxt will be NULL.
    
    Panic log:
    
    BUG: unable to handle kernel NULL pointer dereference at   (null)
    IP: [<f985180d>] iwl_mvm_bt_notif_iterator+0x9d/0x340 [iwlmvm]
    *pdpt = 0000000000000000 *pde = f000eef300000007
    Oops: 0000 [#1] SMP
    Workqueue: events iwl_mvm_async_handlers_wk [iwlmvm]
    task: ed719b20 ti: ec03e000 task.ti: ec03e000
    EIP: 0060:[<f985180d>] EFLAGS: 00010202 CPU: 2
    EIP is at iwl_mvm_bt_notif_iterator+0x9d/0x340 [iwlmvm]
    EAX: 00000000 EBX: f6d3cb70 ECX: f6d3cb70 EDX: 00000000
    ESI: ec03fe40 EDI: efeb8810 EBP: ec03fdf0 ESP: ec03fdac
     DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
    CR0: 80050033 CR2: 00000000 CR3: 01a1a000 CR4: 001407f0
    Stack:
     f743ca80 f744a404 ec03fdcc c10e3952 00003aba f743ca80 00000246 f743ca80
     00000246 00000000 00000001 00000000 ebd45ff6 ebd458a4 f6d3c500 ebd45578
     ebd44b01 ec03fe18 f99e1bc2 00000002 ebd44bc0 f9851770 00000000 f6d3c500
    Call Trace:
     [<c10e3952>] ? ring_buffer_unlock_commit+0xa2/0xd0
     [<f99e1bc2>] __iterate_interfaces+0x82/0x110 [mac80211]
     [<f9851770>] ? iwl_mvm_bt_coex_reduced_txp+0x140/0x140 [iwlmvm]
     [<f99e1c6a>] ieee80211_iterate_active_interfaces_atomic+0x1a/0x20 [mac80211]
     [<f9851427>] iwl_mvm_bt_coex_notif_handle+0x77/0x280 [iwlmvm]
     [<f9852161>] iwl_mvm_rx_bt_coex_notif_old+0x211/0x220 [iwlmvm]
     [<f9850b8b>] iwl_mvm_rx_bt_coex_notif+0x19b/0x1b0 [iwlmvm]
     [<f983944f>] iwl_mvm_async_handlers_wk+0x7f/0xe0 [iwlmvm]
    
    Fixes: 123f515635b1 ("iwlwifi: mvm: BT Coex - add support for TTC / RRC")
    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3c95c66cedf559371143652334b3e568150d3b00
Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Date:   Mon Feb 23 02:40:07 2015 +0200

    iwlwifi: fix max_ht_ampdu_exponent for older devices
    
    commit 540623caa6c769d9d19e6044949f5fa2fe1a33a6 upstream.
    
    The commit below didn't update the max_ht_ampdu_exponent
    for the devices listed in iwl-[1-6]000.c which, in result,
    became 0 instead of 8K. This reduced the size of the Rx
    AMPDU from 64K to 8K which had an impact in the Rx
    throughput. One user reported that because of this, his
    downstream throughput droppped by a half.
    
    Fixes: c064ddf318aa ("iwlwifi: change max HT and VHT A-MPDU exponent")
    Reported-and-tested-by: Valentin Manea <linux-wireless@mrs.ro>
    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4fcad7fbbb9596f5e73536f80935230951ffcb16
Author: Eyal Shapira <eyal@wizery.com>
Date:   Mon Feb 2 15:21:27 2015 +0200

    iwlwifi: mvm: rs: fix BT Coex check to look at the correct ant
    
    commit 57bff1485096c53f943e26b1c5847f2a9dfe84db upstream.
    
    The check to avoid the shared antenna was passed the wrong
    antenna parameter. It should have checked whether the antenna of
    the next column we're considering is allowed and instead it was
    passed the current antenna.
    This could lead to a wrong choice of the next column in the rs
    algorithm and non optimal performance.
    
    Fixes: commit 219fb66b49fac64bb ("iwlwifi: mvm: rs - don't use the shared antenna when BT load is high")
    Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com>
    Reviewed-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c9dd67bcfa4bd06dd6db26c380fa4255f06d5541
Author: Jacob Pan <jacob.jun.pan@linux.intel.com>
Date:   Fri Mar 13 03:48:56 2015 -0700

    powercap / RAPL: handle domains with different energy units
    
    commit d474a4d365aaa5c7aabcf11a74ea43aa23f6f2e9 upstream.
    
    The current driver assumes all RAPL domains within a CPU package
    have the same energy unit. This is no longer true for HSW server
    CPUs since DRAM domain has is own fixed energy unit which can be
    different than the package energy unit enumerated by package
    power MSR. In fact, the default HSW EP package power unit is 61uJ
    whereas DRAM domain unit is 15.3uJ. The result is that DRAM power
    consumption is counted 4x more than real power reported by energy
    counters, similarly for max_energy_range_uj of DRAM domain.
    
    This patch adds domain specific energy unit per cpu type, it allows
    domain energy unit to override package energy unit if non zero.
    
    Please see this document for details.
    "Intel Xeon Processor E5-1600 and E5-2600 v3 Product Families, Volume 2 of 2.
     Datasheet, September 2014, Reference Number: 330784-001 "
    
    Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 89e1dc988d602f16b5239928359f5a1c6fdbb008
Author: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Date:   Thu Mar 12 08:53:30 2015 +0200

    mac80211: count interfaces correctly for combination checks
    
    commit 0f611d28fc2e13cfec64e1c544c16a086886805a upstream.
    
    Since moving the interface combination checks to mac80211, it's
    broken because it now only considers interfaces with an assigned
    channel context, so for example any interface that isn't active
    can still be up, which is clearly an issue; also, in particular
    P2P-Device wdevs are an issue since they never have a chanctx.
    
    Fix this by counting running interfaces instead the ones with a
    channel context assigned.
    
    Fixes: 73de86a38962b ("cfg80211/mac80211: move interface counting for combination check to mac80211")
    Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    [rewrite commit message, dig out the commit it fixes]
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d22db2725c02cc7cf374077d0fc130cf69e7a0cf
Author: Bob Copeland <me@bobcopeland.com>
Date:   Mon Mar 2 14:28:52 2015 -0500

    mac80211: drop unencrypted frames in mesh fwding
    
    commit d0c22119f574b851e63360c6b8660fe9593bbc3c upstream.
    
    The mesh forwarding path was not checking that data
    frames were protected when running an encrypted network;
    add the necessary check.
    
    Reported-by: Johannes Berg <johannes@sipsolutions.net>
    Signed-off-by: Bob Copeland <me@bobcopeland.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0bb81d514fbc6e1e2a68eb611b9cad7706f54546
Author: Michal Kazior <michal.kazior@tieto.com>
Date:   Tue Feb 10 12:48:44 2015 +0100

    mac80211: disable u-APSD queues by default
    
    commit aa75ebc275b2a91b193654a177daf900ad6703f0 upstream.
    
    Some APs experience problems when working with
    U-APSD. Decreasing the probability of that
    happening by using legacy mode for all ACs but VO
    isn't enough.
    
    Cisco 4410N originally forced us to enable VO by
    default only because it treated non-VO ACs as
    legacy.
    
    However some APs (notably Netgear R7000) silently
    reclassify packets to different ACs. Since u-APSD
    ACs require trigger frames for frame retrieval
    clients would never see some frames (e.g. ARP
    responses) or would fetch them accidentally after
    a long time.
    
    It makes little sense to enable u-APSD queues by
    default because it needs userspace applications to
    be aware of it to actually take advantage of the
    possible additional powersavings. Implicitly
    depending on driver autotrigger frame support
    doesn't make much sense.
    
    Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5b6fb24345ead5f763b4e80c53bd69d551d5d43a
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Thu Mar 12 08:53:27 2015 +0200

    nl80211: ignore HT/VHT capabilities without QoS/WMM
    
    commit 496fcc294daab18799e190c0264863d653588d1f upstream.
    
    As HT/VHT depend heavily on QoS/WMM, it's not a good idea to
    let userspace add clients that have HT/VHT but not QoS/WMM.
    Since it does so in certain cases we've observed (client is
    using HT IEs but not QoS/WMM) just ignore the HT/VHT info at
    this point and don't pass it down to the drivers which might
    unconditionally use it.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fbd0f7e0c8d0fdeb8056b0a5d521af8234f62ffd
Author: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Date:   Sun Mar 8 22:33:36 2015 -0700

    Input: synaptics - do not retrieve the board id on old firmwares
    
    commit b57a7128be24062b5b5b26032b7cd58f1651547e upstream.
    
    The board id capability has been added in firmware 7.5.
    
    Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Acked-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e5a147570ddbbcee6d7cae592e364575d98e15f8
Author: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Date:   Sun Mar 8 22:32:43 2015 -0700

    Input: synaptics - handle spurious release of trackstick buttons
    
    commit ebc80840b850db72f7ae84fbcf77630ae5409629 upstream.
    
    The Fimware 8.1 has a bug in which the extra buttons are only sent when the
    ExtBit is 1.  This should be fixed in a future FW update which should have
    a bump of the minor version.
    
    Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Acked-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6b2b666d03bb7e14c93e194b262b030a85a1b632
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Sun Mar 8 22:30:43 2015 -0700

    Input: synaptics - fix middle button on Lenovo 2015 products
    
    commit dc5465dc8a6d5cae8a0e1d8826bdcb2e4cb261ab upstream.
    
    On the X1 Carbon 3rd gen (with a 2015 broadwell cpu), the physical middle
    button of the trackstick (attached to the touchpad serio device, of course)
    seems to get lost.
    
    Actually, the touchpads reports 3 extra buttons, which falls in the switch
    below to the '2' case. Let's handle the case of odd numbers also, so that
    the middle button finds its way back.
    
    Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Acked-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit abadfea64408020361eb6a76b1c930e4418ee146
Author: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Date:   Sun Mar 8 22:29:25 2015 -0700

    Input: synaptics - skip quirks when post-2013 dimensions
    
    commit 02e07492cdfae9c86e3bd21c0beec88dbcc1e9e8 upstream.
    
    Post-2013 Lenovo laptops provide correct min/max dimensions, which are
    different with the ones currently quirked.  According to
    https://bugzilla.kernel.org/show_bug.cgi?id=91541 the following board ids
    are assigned in the post-2013 touchpads:
    
    t440p/t440s: LEN0036 -> 2964/2962
    t540p:       LEN0034 -> 2964
    
    Using 2961 as the common minimum makes these 3 laptops OK. We may need
    to update those values later if other pnp_ids has a lower board_id.
    
    Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Acked-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c45a7115d592183cfe4e1d1319cd0cebc97b4c1d
Author: Daniel Martin <daniel.martin@secunet.com>
Date:   Sun Mar 8 22:29:15 2015 -0700

    Input: synaptics - support min/max board id in min_max_pnpid_table
    
    commit 5b3089ddb540401c1ad2e385a03d7e89ff954585 upstream.
    
    Add a min/max range for board ids to the min/max coordinates quirk. This
    makes it possible to restrict quirks to specific models based upon their
    board id. The define ANY_BOARD_ID (0) serves as a wild card.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=91541
    
    Signed-off-by: Daniel Martin <daniel.martin@secunet.com>
    Acked-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7fd85998b33986ffb635c14a3f36aa9ad31fcfbf
Author: Daniel Martin <consume.noise@gmail.com>
Date:   Sun Mar 8 22:29:07 2015 -0700

    Input: synaptics - remove obsolete min/max quirk for X240
    
    commit b05f4d1c332a22f98c037fa64f249aa30877adaf upstream.
    
    The firmware of the X240 (LEN0035, 2013/12) exposes the same values
        x [1232..5710], y [1156..4696]
    as the quirk applies.
    
    Signed-off-by: Daniel Martin <consume.noise@gmail.com>
    Acked-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d02f5eae65a016b5d4301c30498a049a85312e22
Author: Daniel Martin <consume.noise@gmail.com>
Date:   Sun Mar 8 22:28:40 2015 -0700

    Input: synaptics - query min dimensions for fw v8.1
    
    commit ac097930f0730a9b777737de2b51e0fc49d2be7a upstream.
    
    Query the min dimensions even if the check
    SYN_EXT_CAP_REQUESTS(priv->capabilities) >= 7 fails, but we know that the
    firmware version 8.1 is safe.
    
    With that we don't need quirks for post-2013 models anymore as they expose
    correct min and max dimensions.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=91541
    
    Signed-off-by: Daniel Martin <consume.noise@gmail.com>
      re-order the tests to check SYN_CAP_MIN_DIMENSIONS even on FW 8.1
    Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Acked-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d41073ae4e91fb7b5ddf9df11209f3ddd5dd310c
Author: Daniel Martin <consume.noise@gmail.com>
Date:   Sun Mar 8 22:28:29 2015 -0700

    Input: synaptics - log queried and quirked dimension values
    
    commit 9aff65982d0f58a78a27769fba7e97bc937b2593 upstream.
    
    Logging the dimension values we queried and the values we use from a quirk
    to overwrite can be helpful for debugging.
    
    This partly relates to bug:
        https://bugzilla.kernel.org/show_bug.cgi?id=91541
    
    Signed-off-by: Daniel Martin <consume.noise@gmail.com>
    Acked-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ba1615129fe8143c87487b211e64f94e1ff116ff
Author: Daniel Martin <consume.noise@gmail.com>
Date:   Sun Mar 8 22:27:37 2015 -0700

    Input: synaptics - split synaptics_resolution(), query first
    
    commit 8b04baba10b007f8b6c245a50be73cf09cc3a414 upstream.
    
    Split the function synaptics_resolution() into synaptics_resolution() and
    synaptics_quirks().  synaptics_resolution() will be called before
    synaptics_quirks() to query dimensions and resolutions before overwriting
    them with quirks.
    
    Signed-off-by: Daniel Martin <consume.noise@gmail.com>
    Acked-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 74fbe5657a8619d2a8fe4858ff8acf2fd788fa65
Author: Bart Van Assche <bart.vanassche@sandisk.com>
Date:   Thu Mar 19 22:25:16 2015 -0700

    tcm_qla2xxx: Fix incorrect use of __transport_register_session
    
    commit 75c3d0bf9caebb502e96683b2bc37f9692437e68 upstream.
    
    This patch fixes the incorrect use of __transport_register_session()
    in tcm_qla2xxx_check_initiator_node_acl() code, that does not perform
    explicit se_tpg->session_lock when accessing se_tpg->tpg_sess_list
    to add new se_sess nodes.
    
    Given that tcm_qla2xxx_check_initiator_node_acl() is not called with
    qla_hw->hardware_lock held for all accesses of ->tpg_sess_list, the
    code should be using transport_register_session() instead.
    
    Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
    Cc: Giridhar Malavali <giridhar.malavali@qlogic.com>
    Cc: Quinn Tran <quinn.tran@qlogic.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4a27f58b25f1ba886c2564fb7533ba5a36c10d15
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Feb 25 16:21:03 2015 +0300

    tcm_fc: missing curly braces in ft_invl_hw_context()
    
    commit d556546e7ecd9fca199df4698943024d40044f8e upstream.
    
    This patch adds a missing set of conditional check braces in
    ft_invl_hw_context() originally introduced by commit dcd998ccd
    when handling DDP failures in ft_recv_write_data() code.
    
     commit dcd998ccdbf74a7d8fe0f0a44e85da1ed5975946
     Author: Kiran Patil <kiran.patil@intel.com>
     Date:   Wed Aug 3 09:20:01 2011 +0000
    
        tcm_fc: Handle DDP/SW fc_frame_payload_get failures in ft_recv_write_data
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Cc: Kiran Patil <kiran.patil@intel.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 954ca149d24600a805522da54c9b5f91dd631035
Author: Yongbae Park <yongbae2@gmail.com>
Date:   Tue Mar 3 19:46:49 2015 +0900

    clocksource: efm32: Fix a NULL pointer dereference
    
    commit 7b8f10da3bf1056546133c9f54f49ce389fd95ab upstream.
    
    The initialisation of the efm32 clocksource first sets up the irq and only
    after that initialises the data needed for irq handling. In case this
    initialisation is delayed the irq handler would dereference a NULL pointer.
    
    I'm not aware of anything that could delay the process in such a way, but it's
    better to be safe than sorry, so setup the irq only when the clock event device
    is ready.
    
    Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Yongbae Park <yongbae2@gmail.com>
    Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 55a86f9e3ca7fb1f95bd806a6bf91ba2cd74f4a6
Author: Philipp Zabel <p.zabel@pengutronix.de>
Date:   Mon Mar 9 12:20:13 2015 +0100

    regmap: introduce regmap_name to fix syscon regmap trace events
    
    commit c6b570d97c0e77f570bb6b2ed30d372b2b1e9aae upstream.
    
    This patch fixes a NULL pointer dereference when enabling regmap event
    tracing in the presence of a syscon regmap, introduced by commit bdb0066df96e
    ("mfd: syscon: Decouple syscon interface from platform devices").
    That patch introduced syscon regmaps that have their dev field set to NULL.
    The regmap trace events expect it to point to a valid struct device and feed
    it to dev_name():
    
      $ echo 1 > /sys/kernel/debug/tracing/events/regmap/enable
    
      Unable to handle kernel NULL pointer dereference at virtual address 0000002c
      pgd = 80004000
      [0000002c] *pgd=00000000
      Internal error: Oops: 17 [#1] SMP ARM
      Modules linked in: coda videobuf2_vmalloc
      CPU: 0 PID: 304 Comm: kworker/0:2 Not tainted 4.0.0-rc2+ #9197
      Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
      Workqueue: events_freezable thermal_zone_device_check
      task: 9f25a200 ti: 9f1ee000 task.ti: 9f1ee000
      PC is at ftrace_raw_event_regmap_block+0x3c/0xe4
      LR is at _regmap_raw_read+0x1bc/0x1cc
      pc : [<803636e8>]    lr : [<80365f2c>]    psr: 600f0093
      sp : 9f1efd78  ip : 9f1efdb8  fp : 9f1efdb4
      r10: 00000004  r9 : 00000001  r8 : 00000001
      r7 : 00000180  r6 : 00000000  r5 : 9f00e3c0  r4 : 00000003
      r3 : 00000001  r2 : 00000180  r1 : 00000000  r0 : 9f00e3c0
      Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 10c5387d  Table: 2d91004a  DAC: 00000015
      Process kworker/0:2 (pid: 304, stack limit = 0x9f1ee210)
      Stack: (0x9f1efd78 to 0x9f1f0000)
      fd60:                                                       9f1efda4 9f1efd88
      fd80: 800708c0 805f9510 80927140 800f0013 9f1fc800 9eb2f490 00000000 00000180
      fda0: 808e3840 00000001 9f1efdfc 9f1efdb8 80365f2c 803636b8 805f8958 800708e0
      fdc0: a00f0013 803636ac 9f16de00 00000180 80927140 9f1fc800 9f1fc800 9f1efe6c
      fde0: 9f1efe6c 9f732400 00000000 00000000 9f1efe1c 9f1efe00 80365f70 80365d7c
      fe00: 80365f3c 9f1fc800 9f1fc800 00000180 9f1efe44 9f1efe20 803656a4 80365f48
      fe20: 9f1fc800 00000180 9f1efe6c 9f1efe6c 9f732400 00000000 9f1efe64 9f1efe48
      fe40: 803657bc 80365634 00000001 9e95f910 9f1fc800 9f1efeb4 9f1efe8c 9f1efe68
      fe60: 80452ac0 80365778 9f1efe8c 9f1efe78 9e93d400 9e93d5e8 9f1efeb4 9f72ef40
      fe80: 9f1efeac 9f1efe90 8044e11c 80452998 8045298c 9e93d608 9e93d400 808e1978
      fea0: 9f1efecc 9f1efeb0 8044fd14 8044e0d0 ffffffff 9f25a200 9e93d608 9e481380
      fec0: 9f1efedc 9f1efed0 8044fde8 8044fcec 9f1eff1c 9f1efee0 80038d50 8044fdd8
      fee0: 9f1ee020 9f72ef40 9e481398 00000000 00000008 9f72ef54 9f1ee020 9f72ef40
      ff00: 9e481398 9e481380 00000008 9f72ef40 9f1eff5c 9f1eff20 80039754 80038bfc
      ff20: 00000000 9e481380 80894100 808e1662 00000000 9e4f2ec0 00000000 9e481380
      ff40: 800396f8 00000000 00000000 00000000 9f1effac 9f1eff60 8003e020 80039704
      ff60: ffffffff 00000000 ffffffff 9e481380 00000000 00000000 9f1eff78 9f1eff78
      ff80: 00000000 00000000 9f1eff88 9f1eff88 9e4f2ec0 8003df30 00000000 00000000
      ffa0: 00000000 9f1effb0 8000eb60 8003df3c 00000000 00000000 00000000 00000000
      ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 ffffffff ffffffff
      Backtrace:
      [<803636ac>] (ftrace_raw_event_regmap_block) from [<80365f2c>] (_regmap_raw_read+0x1bc/0x1cc)
       r9:00000001 r8:808e3840 r7:00000180 r6:00000000 r5:9eb2f490 r4:9f1fc800
      [<80365d70>] (_regmap_raw_read) from [<80365f70>] (_regmap_bus_read+0x34/0x6c)
       r10:00000000 r9:00000000 r8:9f732400 r7:9f1efe6c r6:9f1efe6c r5:9f1fc800
       r4:9f1fc800
      [<80365f3c>] (_regmap_bus_read) from [<803656a4>] (_regmap_read+0x7c/0x144)
       r6:00000180 r5:9f1fc800 r4:9f1fc800 r3:80365f3c
      [<80365628>] (_regmap_read) from [<803657bc>] (regmap_read+0x50/0x70)
       r9:00000000 r8:9f732400 r7:9f1efe6c r6:9f1efe6c r5:00000180 r4:9f1fc800
      [<8036576c>] (regmap_read) from [<80452ac0>] (imx_get_temp+0x134/0x1a4)
       r6:9f1efeb4 r5:9f1fc800 r4:9e95f910 r3:00000001
      [<8045298c>] (imx_get_temp) from [<8044e11c>] (thermal_zone_get_temp+0x58/0x74)
       r7:9f72ef40 r6:9f1efeb4 r5:9e93d5e8 r4:9e93d400
      [<8044e0c4>] (thermal_zone_get_temp) from [<8044fd14>] (thermal_zone_device_update+0x34/0xec)
       r6:808e1978 r5:9e93d400 r4:9e93d608 r3:8045298c
      [<8044fce0>] (thermal_zone_device_update) from [<8044fde8>] (thermal_zone_device_check+0x1c/0x20)
       r5:9e481380 r4:9e93d608
      [<8044fdcc>] (thermal_zone_device_check) from [<80038d50>] (process_one_work+0x160/0x3d4)
      [<80038bf0>] (process_one_work) from [<80039754>] (worker_thread+0x5c/0x4f4)
       r10:9f72ef40 r9:00000008 r8:9e481380 r7:9e481398 r6:9f72ef40 r5:9f1ee020
       r4:9f72ef54
      [<800396f8>] (worker_thread) from [<8003e020>] (kthread+0xf0/0x108)
       r10:00000000 r9:00000000 r8:00000000 r7:800396f8 r6:9e481380 r5:00000000
       r4:9e4f2ec0
      [<8003df30>] (kthread) from [<8000eb60>] (ret_from_fork+0x14/0x34)
       r7:00000000 r6:00000000 r5:8003df30 r4:9e4f2ec0
      Code: e3140040 1a00001a e3140020 1a000016 (e596002c)
      ---[ end trace 193c15c2494ec960 ]---
    
    Fixes: bdb0066df96e (mfd: syscon: Decouple syscon interface from platform devices)
    Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 42785aa288a55a7e2ec5a5c5e4ec87ee9c149336
Author: Lars-Peter Clausen <lars@metafoo.de>
Date:   Sat Mar 7 17:10:01 2015 +0100

    regmap: regcache-rbtree: Fix present bitmap resize
    
    commit 328f494d95aac8bd4896aea2328bc281053bcb71 upstream.
    
    When inserting a new register into a block at the lower end the present
    bitmap is currently shifted into the wrong direction. The effect of this is
    that the bitmap becomes corrupted and registers which are present might be
    reported as not present and vice versa.
    
    Fix this by shifting left rather than right.
    
    Fixes: 472fdec7380c("regmap: rbtree: Reduce number of nodes, take 2")
    Reported-by: Daniel Baluta <daniel.baluta@gmail.com>
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0e1e3b03a3edcc2fd5a56fbbbc03d6eec07146c9
Author: Yongbae Park <yongbae2@gmail.com>
Date:   Tue Mar 3 13:05:48 2015 +0900

    clockevents: sun5i: Fix setup_irq init sequence
    
    commit 1096be084ac59927158ce80ff1d31c33eed0e565 upstream.
    
    The interrupt is enabled before the handler is set. Even this bug
    did not appear, it is potentially dangerous as it can lead to a
    NULL pointer dereference.
    
    Fix the error by enabling the interrupt after
    clockevents_config_and_register() is called.
    
    Signed-off-by: Yongbae Park <yongbae2@gmail.com>
    Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 08356188de276d7c08130dbe146d618fe9b3d76b
Author: Michael S. Tsirkin <mst@redhat.com>
Date:   Tue Mar 10 11:55:08 2015 +1030

    virtio-balloon: do not call blocking ops when !TASK_RUNNING
    
    commit 3d2a3774c1b046f548ebea0391a602fd5685a307 upstream.
    
    virtio balloon has this code:
            wait_event_interruptible(vb->config_change,
                                     (diff = towards_target(vb)) != 0
                                     || vb->need_stats_update
                                     || kthread_should_stop()
                                     || freezing(current));
    
    Which is a problem because towards_target() call might block after
    wait_event_interruptible sets task state to TAST_INTERRUPTIBLE, causing
    the task_struct::state collision typical of nesting of sleeping
    primitives
    
    See also http://lwn.net/Articles/628628/ or Thomas's
    bug report
    http://article.gmane.org/gmane.linux.kernel.virtualization/24846
    for a fuller explanation.
    
    To fix, rewrite using wait_woken.
    
    Reported-by: Thomas Huth <thuth@linux.vnet.ibm.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Tested-by: Thomas Huth <thuth@linux.vnet.ibm.com>
    Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 757fd0d78d090eb2518b09a5903d312e3955c08d
Author: Michael S. Tsirkin <mst@redhat.com>
Date:   Thu Mar 5 13:24:41 2015 +1030

    virtio_balloon: set DRIVER_OK before using device
    
    commit 88660f7fb94cda1f8f63ee92bfcd0db39a6361e2 upstream.
    
    virtio spec requires that all drivers set DRIVER_OK
    before using devices. While balloon isn't yet
    included in the virtio 1 spec, previous spec versions
    also required this.
    
    virtio balloon might violate this rule: probe calls
    kthread_run before setting DRIVER_OK, which might run
    immediately and cause balloon to inflate/deflate.
    
    To fix, call virtio_device_ready before running the kthread.
    
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5a903e6ae7e6185600a22ecaa3582ef1ffd3cf9c
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:16 2015 +0100

    ASoC: wm9713: Fix wrong value references for boolean kctl
    
    commit 87a8b286e2f63c048a586dc677140d4a5b5808aa upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ecec5e543d85a6aec0e920c5c9dbb6dee6691f45
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:15 2015 +0100

    ASoC: wm9712: Fix wrong value references for boolean kctl
    
    commit 4b0b669b86a963f71feaa1a694e881832fdf4f86 upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3427a69e0d91ef21d56451f648a0e9ab356d966d
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:13 2015 +0100

    ASoC: wm8955: Fix wrong value references for boolean kctl
    
    commit 07892b10356f17717abdc578acbef72db86c880e upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8c6c177489646e582eb0de5e5cf251f5cb3d1ef8
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:03 2015 +0100

    ASoC: adav80x: Fix wrong value references for boolean kctl
    
    commit 2bf4c1d483d911cda5dd385527194d23e5cea73d upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Acked-by: Lars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3564730f7882b7bc59004047675baf2daece3a35
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:04 2015 +0100

    ASoC: ak4641: Fix wrong value references for boolean kctl
    
    commit 08641d9b7bf915144a57a736b42642e13eb1167f upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1663fd40c9611a5e132a858e2b82c4cf5a128357
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:12 2015 +0100

    ASoC: wm8904: Fix wrong value references for boolean kctl
    
    commit eaddf6fd959074f6a6e71deffe079c71eef35da6 upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 26b85c46b33ff70560cc472ab23b9c40a9f4023a
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:11 2015 +0100

    ASoC: wm8903: Fix wrong value references for boolean kctl
    
    commit 24cc883c1fd16df34211ae41624aa6d3cd906693 upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 26e71a043d7412a8d0a38e61e59e00c3942fedcd
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:09 2015 +0100

    ASoC: wm2000: Fix wrong value references for boolean kctl
    
    commit 00a14c2968e3d55817e0fa35c78106ca840537bf upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f841ad938f36069b5b755a84b55cc6cb4a0dddf4
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:10 2015 +0100

    ASoC: wm8731: Fix wrong value references for boolean kctl
    
    commit bd14016fbf31aa199026f1e2358eab695f374eb1 upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d33d9446f0432536722714e245b128a1e72a7df4
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:08 2015 +0100

    ASoC: tas5086: Fix wrong value references for boolean kctl
    
    commit 4c523ef61160b7d478371ddc9f48c8ce0a00d675 upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 063419e9871a127061b62e1d4e8f7e6958c7ce9d
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:14 2015 +0100

    ASoC: wm8960: Fix wrong value references for boolean kctl
    
    commit b4a18c8b1af15ebfa9054a3d2aef7b0a7e6f2a05 upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 186e6aca0b7232b0732fa0ed84ac9317bdb46588
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:06 2015 +0100

    ASoC: es8238: Fix wrong value references for boolean kctl
    
    commit d223b0e7fcfecc23380e7de45eb6a0e7b328c17c upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9260766a28a1dbd4edac5e47d231383b249640a2
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:05 2015 +0100

    ASoC: cs4271: Fix wrong value references for boolean kctl
    
    commit e8371aa0fecb73fb8a4b2e0296b025b11e7d6229 upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Acked-by: Paul Handrigan <Paul.Handrigan@cirrus.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4f7da4ad6d5873545ffa7bd128ec7e0cc791f78d
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Mar 10 12:39:07 2015 +0100

    ASoC: pcm1681: Fix wrong value references for boolean kctl
    
    commit d7f58db49d9ad92bdb12d21fdc2308b76bc2ed38 upstream.
    
    The correct values referred by a boolean control are
    value.integer.value[], not value.enumerated.item[].
    The former is long while the latter is int, so it's even incompatible
    on 64bit architectures.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 165acf5d3e8d84d90347d4f8410a10f6b507b6da
Author: Eric Nelson <eric.nelson@boundarydevices.com>
Date:   Fri Feb 27 08:06:45 2015 -0700

    ASoC: sgtl5000: remove useless register write clearing CHRGPUMP_POWERUP
    
    commit c7d910b87d3c8e9fcf4077089ca4327c12eee099 upstream.
    
    The SGTL5000_CHIP_ANA_POWER register is cached. Update the cached
    value instead of writing it directly.
    
    Patch inspired by Russell King's more colorful remarks in this
    patch:
    	https://github.com/SolidRun/linux-imx6-3.14/commit/dd4bf6a
    
    Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2d08d187dfce83ea2010d03a75f370fa29e7cd7e
Author: Lars-Peter Clausen <lars@metafoo.de>
Date:   Fri Feb 27 14:13:04 2015 +0100

    ASoC: sn95031: Fix control-less DAPM routes
    
    commit cdd3d2a93f08823a0b9802147dc28c99029dfdfd upstream.
    
    Routes without a control must use NULL for the control name. The sn95031
    driver uses "NULL" instead in a few places. Previous to commit 5fe5b767dc6f
    ("ASoC: dapm: Do not pretend to support controls for non mixer/mux widgets")
    the DAPM core silently ignored non-NULL controls on non-mixer and non-mux
    routes. But starting with that commit it will complain and not add the
    route breaking the sn95031 driver in the process.
    
    This patch replaces the incorrect "NULL" control name with NULL to fix the
    issue.
    
    Fixes: 5fe5b767dc6f ("ASoC: dapm: Do not pretend to support controls for non mixer/mux widgets")
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Acked-by: Vinod Koul <vinod.koul@intel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b5a7466c0707e8379a92d4c75376778dd5d3370b
Author: Lars-Peter Clausen <lars@metafoo.de>
Date:   Fri Feb 27 14:13:02 2015 +0100

    ASoC: ak4671: Fix control-less DAPM routes
    
    commit ce9594c6b332fd6fe464e22a83b0e6e0a287aac6 upstream.
    
    Routes without a control must use NULL for the control name. The ak4671
    driver uses "NULL" instead in a few places. Previous to commit 5fe5b767dc6f
    ("ASoC: dapm: Do not pretend to support controls for non mixer/mux widgets")
    the DAPM core silently ignored non-NULL controls on non-mixer and non-mux
    routes. But starting with that commit it will complain and not add the
    route breaking the ak4671 driver in the process.
    
    This patch replaces the incorrect "NULL" control name with NULL to fix the
    issue.
    
    Fixes: 5fe5b767dc6f ("ASoC: dapm: Do not pretend to support controls for non mixer/mux widgets")
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit af30befa90cf63b7aa50bdc3bf2a69b8cb27822d
Author: Lars-Peter Clausen <lars@metafoo.de>
Date:   Fri Feb 27 14:13:03 2015 +0100

    ASoC: da732x: Fix control-less DAPM routes
    
    commit 8e6a75c102f8e232b599a06e06731d8c5d5f2c5d upstream.
    
    Routes without a control must use NULL for the control name. The da732x
    driver uses "NULL" instead in a few places. Previous to commit 5fe5b767dc6f
    ("ASoC: dapm: Do not pretend to support controls for non mixer/mux widgets")
    the DAPM core silently ignored non-NULL controls on non-mixer and non-mux
    routes. But starting with that commit it will complain and not add the
    route breaking the da732x driver in the process.
    
    This patch replaces the incorrect "NULL" control name with NULL to fix the
    issue.
    
    Fixes: 5fe5b767dc6f ("ASoC: dapm: Do not pretend to support controls for non mixer/mux widgets")
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>