commit 4ccf212fb84d79b75fc66a2e26ac6bdbab0aedbf
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Fri Feb 6 06:53:31 2015 -0800

    Linux 3.14.32

commit 4a8860d867e204adb05b0fad16ba0a6f09ba8e59
Author: Nicholas Bellinger <nab@linux-iscsi.org>
Date:   Tue Jan 6 16:10:37 2015 -0800

    target: Drop arbitrary maximum I/O size limit
    
    commit 046ba64285a4389ae5e9a7dfa253c6bff3d7c341 upstream.
    
    This patch drops the arbitrary maximum I/O size limit in sbc_parse_cdb(),
    which currently for fabric_max_sectors is hardcoded to 8192 (4 MB for 512
    byte sector devices), and for hw_max_sectors is a backend driver dependent
    value.
    
    This limit is problematic because Linux initiators have only recently
    started to honor block limits MAXIMUM TRANSFER LENGTH, and other non-Linux
    based initiators (eg: MSFT Fibre Channel) can also generate I/Os larger
    than 4 MB in size.
    
    Currently when this happens, the following message will appear on the
    target resulting in I/Os being returned with non recoverable status:
    
      SCSI OP 28h with too big sectors 16384 exceeds fabric_max_sectors: 8192
    
    Instead, drop both [fabric,hw]_max_sector checks in sbc_parse_cdb(),
    and convert the existing hw_max_sectors into a purely informational
    attribute used to represent the granuality that backend driver and/or
    subsystem code is splitting I/Os upon.
    
    Also, update FILEIO with an explicit FD_MAX_BYTES check in fd_execute_rw()
    to deal with the one special iovec limitiation case.
    
    v2 changes:
      - Drop hw_max_sectors check in sbc_parse_cdb()
    
    Reported-by: Lance Gropper <lance.gropper@qosserver.com>
    Reported-by: Stefan Priebe <s.priebe@profihost.ag>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Martin K. Petersen <martin.petersen@oracle.com>
    Cc: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 336d55193a33b2922f2cd3d70ca4e81a0e76c30f
Author: Tejun Heo <tj@kernel.org>
Date:   Fri Jan 16 14:21:16 2015 -0500

    workqueue: fix subtle pool management issue which can stall whole worker_pool
    
    commit 29187a9eeaf362d8422e62e17a22a6e115277a49 upstream.
    
    A worker_pool's forward progress is guaranteed by the fact that the
    last idle worker assumes the manager role to create more workers and
    summon the rescuers if creating workers doesn't succeed in timely
    manner before proceeding to execute work items.
    
    This manager role is implemented in manage_workers(), which indicates
    whether the worker may proceed to work item execution with its return
    value.  This is necessary because multiple workers may contend for the
    manager role, and, if there already is a manager, others should
    proceed to work item execution.
    
    Unfortunately, the function also indicates that the worker may proceed
    to work item execution if need_to_create_worker() is false at the head
    of the function.  need_to_create_worker() tests the following
    conditions.
    
    	pending work items && !nr_running && !nr_idle
    
    The first and third conditions are protected by pool->lock and thus
    won't change while holding pool->lock; however, nr_running can change
    asynchronously as other workers block and resume and while it's likely
    to be zero, as someone woke this worker up in the first place, some
    other workers could have become runnable inbetween making it non-zero.
    
    If this happens, manage_worker() could return false even with zero
    nr_idle making the worker, the last idle one, proceed to execute work
    items.  If then all workers of the pool end up blocking on a resource
    which can only be released by a work item which is pending on that
    pool, the whole pool can deadlock as there's no one to create more
    workers or summon the rescuers.
    
    This patch fixes the problem by removing the early exit condition from
    maybe_create_worker() and making manage_workers() return false iff
    there's already another manager, which ensures that the last worker
    doesn't start executing work items.
    
    We can leave the early exit condition alone and just ignore the return
    value but the only reason it was put there is because the
    manage_workers() used to perform both creations and destructions of
    workers and thus the function may be invoked while the pool is trying
    to reduce the number of workers.  Now that manage_workers() is called
    only when more workers are needed, the only case this early exit
    condition is triggered is rare race conditions rendering it pointless.
    
    Tested with simulated workload and modified workqueue code which
    trigger the pool deadlock reliably without this patch.
    
    tj: Updated to v3.14 where manage_workers() is responsible not only
        for creating more workers but also destroying surplus ones.
        maybe_create_worker() needs to keep its early exit condition to
        avoid creating a new worker when manage_workers() is called to
        destroy surplus ones.  Other than that, the adaptabion is
        straight-forward.  Both maybe_{create|destroy}_worker() functions
        are converted to return void and manage_workers() returns %false
        iff it lost manager arbitration.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Reported-by: Eric Sandeen <sandeen@sandeen.net>
    Link: http://lkml.kernel.org/g/54B019F4.8030009@sandeen.net
    Cc: Dave Chinner <david@fromorbit.com>
    Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b49e4a878abbfdb9c12e4170a61a9a01dbdd6328
Author: Ilya Dryomov <idryomov@redhat.com>
Date:   Mon Jan 19 18:13:43 2015 +0300

    rbd: fix rbd_dev_parent_get() when parent_overlap == 0
    
    commit ae43e9d05eb4bd324155292f889fbd001c4faea8 upstream.
    
    The comment for rbd_dev_parent_get() said
    
        * We must get the reference before checking for the overlap to
        * coordinate properly with zeroing the parent overlap in
        * rbd_dev_v2_parent_info() when an image gets flattened.  We
        * drop it again if there is no overlap.
    
    but the "drop it again if there is no overlap" part was missing from
    the implementation.  This lead to absurd parent_ref values for images
    with parent_overlap == 0, as parent_ref was incremented for each
    img_request and virtually never decremented.
    
    Fix this by leveraging the fact that refresh path calls
    rbd_dev_v2_parent_info() under header_rwsem and use it for read in
    rbd_dev_parent_get(), instead of messing around with atomics.  Get rid
    of barriers in rbd_dev_v2_parent_info() while at it - I don't see what
    they'd pair with now and I suspect we are in a pretty miserable
    situation as far as proper locking goes regardless.
    
    Signed-off-by: Ilya Dryomov <idryomov@redhat.com>
    Reviewed-by: Josh Durgin <jdurgin@redhat.com>
    Reviewed-by: Alex Elder <elder@linaro.org>
    [idryomov@redhat.com: backport to 3.14: context]
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c1f4213810462d58baef282eb34c1c28c1edf4cf
Author: Liu ShuoX <shuox.liu@intel.com>
Date:   Mon Mar 17 13:57:49 2014 -0700

    pstore: Fix NULL pointer fault if get NULL prz in ramoops_get_next_prz
    
    commit b0aa931fb84431394d995472d0af2a6c2b61064d upstream.
    
    ramoops_get_next_prz get the prz according the paramters. If it get a
    uninitialized prz, access its members by following persistent_ram_old_size(prz)
    will cause a NULL pointer crash.
    Ex: if ftrace_size is 0, fprz will be NULL.
    
    Fix it by return NULL in advance.
    
    Signed-off-by: Liu ShuoX <shuox.liu@intel.com>
    Acked-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    Cc: HuKeping <hukeping@huawei.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b310479c591d123811c18f19f55896cda0fc4f5e
Author: Liu ShuoX <shuox.liu@intel.com>
Date:   Mon Mar 17 11:24:49 2014 +1100

    pstore: skip zero size persistent ram buffer in traverse
    
    commit aa9a4a1edfbd3d223af01db833da2f07850bc655 upstream.
    
    In ramoops_pstore_read, a valid prz pointer with zero size buffer will
    break traverse of all persistent ram buffers.  The latter buffer might be
    lost.
    
    Signed-off-by: Liu ShuoX <shuox.liu@intel.com>
    Cc: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
    Cc: Colin Cross <ccross@android.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    Cc: HuKeping <hukeping@huawei.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 90ebdaa3d0ff2668a59dfebea2efee220d227e61
Author: Liu ShuoX <shuox.liu@intel.com>
Date:   Mon Mar 17 11:24:49 2014 +1100

    pstore: clarify clearing of _read_cnt in ramoops_context
    
    commit 57fd835385a043577457a385f28c08be693991bf upstream.
    
    *_read_cnt in ramoops_context need to be cleared during pstore ->open to
    support mutli times getting the records.  The patch added missed
    ftrace_read_cnt clearing and removed duplicate clearing in ramoops_probe.
    
    Signed-off-by: Liu ShuoX <shuox.liu@intel.com>
    Cc: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
    Cc: Colin Cross <ccross@android.com>
    Cc: Kees Cook <keescook@chromium.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    Cc: HuKeping <hukeping@huawei.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 73e8cfe5a403444d87a46df56007bd676196356d
Author: Russell King <rmk+kernel@arm.linux.org.uk>
Date:   Thu Jul 17 12:17:45 2014 +0100

    ARM: DMA: ensure that old section mappings are flushed from the TLB
    
    commit 6b076991dca9817e75c37e2f0db6d52611ea42fa upstream.
    
    When setting up the CMA region, we must ensure that the old section
    mappings are flushed from the TLB before replacing them with page
    tables, otherwise we can suffer from mismatched aliases if the CPU
    speculatively prefetches from these mappings at an inopportune time.
    
    A mismatched alias can occur when the TLB contains a section mapping,
    but a subsequent prefetch causes it to load a page table mapping,
    resulting in the possibility of the TLB containing two matching
    mappings for the same virtual address region.
    
    Acked-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Cc: Hou Pengyang <houpengyang@huawei.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5e45ff13211e09d5d271a31008d9ccb536c4606b
Author: Bob Paauwe <bob.j.paauwe@intel.com>
Date:   Thu Dec 18 09:51:26 2014 -0800

    drm/i915: Only fence tiled region of object.
    
    commit af1a7301c7cf8912dca03065d448c4437c5c239f upstream.
    
    When creating a fence for a tiled object, only fence the area that
    makes up the actual tiles.  The object may be larger than the tiled
    area and if we allow those extra addresses to be fenced, they'll
    get converted to addresses beyond where the object is mapped. This
    opens up the possiblity of writes beyond the end of object.
    
    To prevent this, we adjust the size of the fence to only encompass
    the area that makes up the actual tiles.  The extra space is considered
    un-tiled and now behaves as if it was a linear object.
    
    Testcase: igt/gem_tiled_fence_overflow
    Reported-by: Dan Hettena <danh@ghs.com>
    Signed-off-by: Bob Paauwe <bob.j.paauwe@intel.com>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f95875d828b0193b61508fe93bdeb13958221fdd
Author: Mugunthan V N <mugunthanvnm@ti.com>
Date:   Thu Jan 22 15:19:22 2015 +0530

    drivers: net: cpsw: discard dual emac default vlan configuration
    
    commit 02a54164c52ed6eca3089a0d402170fbf34d6cf5 upstream.
    
    In Dual EMAC, the default VLANs are used to segregate Rx packets between
    the ports, so adding the same default VLAN to the switch will affect the
    normal packet transfers. So returning error on addition of dual EMAC
    default VLANs.
    
    Even if EMAC 0 default port VLAN is added to EMAC 1, it will lead to
    break dual EMAC port separations.
    
    Fixes: d9ba8f9e6298 (driver: net: ethernet: cpsw: dual emac interface implementation)
    Reported-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b17ab0146dc0842d1014304ee73914662993cfc9
Author: Ashay Jaiswal <ashayj@codeaurora.org>
Date:   Thu Jan 8 18:54:25 2015 +0530

    regulator: core: fix race condition in regulator_put()
    
    commit 83b0302d347a49f951e904184afe57ac3723476e upstream.
    
    The regulator framework maintains a list of consumer regulators
    for a regulator device and protects it from concurrent access using
    the regulator device's mutex lock.
    
    In the case of regulator_put() the consumer is removed and regulator
    device's parameters are updated without holding the regulator device's
    mutex. This would lead to a race condition between the regulator_put()
    and any function which traverses the consumer list or modifies regulator
    device's parameters.
    Fix this race condition by holding the regulator device's mutex in case
    of regulator_put.
    
    Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 03c5a83d8c13cf8d182290cb8771dab3a943cc35
Author: Mika Westerberg <mika.westerberg@linux.intel.com>
Date:   Mon Dec 29 10:33:36 2014 +0200

    spi/pxa2xx: Clear cur_chip pointer before starting next message
    
    commit c957e8f084e0d21febcd6b8a0ea9631eccc92f36 upstream.
    
    Once the current message is finished, the driver notifies SPI core about
    this by calling spi_finalize_current_message(). This function queues next
    message to be transferred. If there are more messages in the queue, it is
    possible that the driver is asked to transfer the next message at this
    point.
    
    When spi_finalize_current_message() returns the driver clears the
    drv_data->cur_chip pointer to NULL. The problem is that if the driver
    already started the next message clearing drv_data->cur_chip will cause
    NULL pointer dereference which crashes the kernel like:
    
     BUG: unable to handle kernel NULL pointer dereference at 0000000000000048
     IP: [<ffffffffa0022bc8>] cs_deassert+0x18/0x70 [spi_pxa2xx_platform]
     PGD 78bb8067 PUD 37712067 PMD 0
     Oops: 0000 [#1] SMP
     Modules linked in:
     CPU: 1 PID: 11 Comm: ksoftirqd/1 Tainted: G           O   3.18.0-rc4-mjo #5
     Hardware name: Intel Corp. VALLEYVIEW B3 PLATFORM/NOTEBOOK, BIOS MNW2CRB1.X64.0071.R30.1408131301 08/13/2014
     task: ffff880077f9f290 ti: ffff88007a820000 task.ti: ffff88007a820000
     RIP: 0010:[<ffffffffa0022bc8>]  [<ffffffffa0022bc8>] cs_deassert+0x18/0x70 [spi_pxa2xx_platform]
     RSP: 0018:ffff88007a823d08  EFLAGS: 00010202
     RAX: 0000000000000008 RBX: ffff8800379a4430 RCX: 0000000000000026
     RDX: 0000000000000000 RSI: 0000000000000246 RDI: ffff8800379a4430
     RBP: ffff88007a823d18 R08: 00000000ffffffff R09: 000000007a9bc65a
     R10: 000000000000028f R11: 0000000000000005 R12: ffff880070123e98
     R13: ffff880070123de8 R14: 0000000000000100 R15: ffffc90004888000
     FS:  0000000000000000(0000) GS:ffff880079a80000(0000) knlGS:0000000000000000
     CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
     CR2: 0000000000000048 CR3: 000000007029b000 CR4: 00000000001007e0
     Stack:
      ffff88007a823d58 ffff8800379a4430 ffff88007a823d48 ffffffffa0022c89
      0000000000000000 ffff8800379a4430 0000000000000000 0000000000000006
      ffff88007a823da8 ffffffffa0023be0 ffff88007a823dd8 ffffffff81076204
     Call Trace:
      [<ffffffffa0022c89>] giveback+0x69/0xa0 [spi_pxa2xx_platform]
      [<ffffffffa0023be0>] pump_transfers+0x710/0x740 [spi_pxa2xx_platform]
      [<ffffffff81076204>] ? pick_next_task_fair+0x744/0x830
      [<ffffffff81049679>] tasklet_action+0xa9/0xe0
      [<ffffffff81049a0e>] __do_softirq+0xee/0x280
      [<ffffffff81049bc0>] run_ksoftirqd+0x20/0x40
      [<ffffffff810646df>] smpboot_thread_fn+0xff/0x1b0
      [<ffffffff810645e0>] ? SyS_setgroups+0x150/0x150
      [<ffffffff81060f9d>] kthread+0xcd/0xf0
      [<ffffffff81060ed0>] ? kthread_create_on_node+0x180/0x180
      [<ffffffff8187a82c>] ret_from_fork+0x7c/0xb0
    
    Fix this by clearing drv_data->cur_chip before we call spi_finalize_current_message().
    
    Reported-by: Martin Oldfield <m@mjoldfield.com>
    Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ac5d430c72e5104a82bdb2c8d86aaa1797cd185b
Author: Joe Thornber <ejt@redhat.com>
Date:   Wed Jan 28 12:07:46 2015 +0000

    dm cache: fix missing ERR_PTR returns and handling
    
    commit 766a78882ddf79b162243649d7dfdbac1fb6fb88 upstream.
    
    Commit 9b1cc9f251 ("dm cache: share cache-metadata object across
    inactive and active DM tables") mistakenly ignored the use of ERR_PTR
    returns.  Restore missing IS_ERR checks and ERR_PTR returns where
    appropriate.
    
    Reported-by: Dan Carpenter <dan.carpenter@oracle.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 e6f2661f9e1b7d5454f5f2d6e55c7d41460bc36c
Author: Joe Thornber <ejt@redhat.com>
Date:   Mon Jan 26 11:38:21 2015 +0000

    dm thin: don't allow messages to be sent to a pool target in READ_ONLY or FAIL mode
    
    commit 2a7eaea02b99b6e267b1e89c79acc6e9a51cee3b upstream.
    
    You can't modify the metadata in these modes.  It's better to fail these
    messages immediately than let the block-manager deny write locks on
    metadata blocks.  Otherwise these failed metadata changes will trigger
    'needs_check' to get set in the metadata superblock -- requiring repair
    using the thin_check utility.
    
    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 e98f093f513ee393d55232217e0ac6fbaa50bb7a
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Fri Jan 23 11:10:12 2015 +0100

    nl80211: fix per-station group key get/del and memory leak
    
    commit 0fa7b39131576dd1baa6ca17fca53c65d7f62249 upstream.
    
    In case userspace attempts to obtain key information for or delete a
    unicast key, this is currently erroneously rejected unless the driver
    sets the WIPHY_FLAG_IBSS_RSN flag. Apparently enough drivers do so it
    was never noticed.
    
    Fix that, and while at it fix a potential memory leak: the error path
    in the get_key() function was placed after allocating a message but
    didn't free it - move it to a better place. Luckily admin permissions
    are needed to call this operation.
    
    Fixes: e31b82136d1ad ("cfg80211/mac80211: allow per-station GTKs")
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a30f0cb99fbc11053934edaf91233f0d0ebb1b5f
Author: Mathy Vanhoef <vanhoefm@gmail.com>
Date:   Tue Jan 20 15:05:08 2015 +0100

    mac80211: properly set CCK flag in radiotap
    
    commit 3a5c5e81d8128a9e43abc52b75dd21d3da7a0cfc upstream.
    
    Fix a regression introduced by commit a5e70697d0c4 ("mac80211: add radiotap flag
    and handling for 5/10 MHz") where the IEEE80211_CHAN_CCK channel type flag was
    incorrectly replaced by the IEEE80211_CHAN_OFDM flag. This commit fixes that by
    using the CCK flag again.
    
    Fixes: a5e70697d0c4 ("mac80211: add radiotap flag and handling for 5/10 MHz")
    Signed-off-by: Mathy Vanhoef <vanhoefm@gmail.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6c90be66183adf9497a9e5f1e6810f3a4a9ab934
Author: Trond Myklebust <trond.myklebust@primarydata.com>
Date:   Wed Jan 21 14:37:44 2015 -0500

    NFSv4.1: Fix an Oops in nfs41_walk_client_list
    
    commit 3175e1dcec40fab1a444c010087f2068b6b04732 upstream.
    
    If we start state recovery on a client that failed to initialise correctly,
    then we are very likely to Oops.
    
    Reported-by: "Mkrtchyan, Tigran" <tigran.mkrtchyan@desy.de>
    Link: http://lkml.kernel.org/r/130621862.279655.1421851650684.JavaMail.zimbra@desy.de
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1066a175c7ef86259ea07f796c9a66dd26f28f5f
Author: Peng Tao <tao.peng@primarydata.com>
Date:   Tue Jan 20 07:44:29 2015 +0800

    nfs: fix dio deadlock when O_DIRECT flag is flipped
    
    commit ee8a1a8b160a87dc3a9c81a86796aa4db85ea815 upstream.
    
    We only support swap file calling nfs_direct_IO. However, application
    might be able to get to nfs_direct_IO if it toggles O_DIRECT flag
    during IO and it can deadlock because we grab inode->i_mutex in
    nfs_file_direct_write(). So return 0 for such case. Then the generic
    layer will fall back to buffer IO.
    
    Signed-off-by: Peng Tao <tao.peng@primarydata.com>
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 907fe767f37d75968acdab964a8ec98484e60243
Author: Jochen Hein <jochen@jochen.org>
Date:   Thu Jan 22 12:03:15 2015 -0800

    Input: i8042 - add noloop quirk for Medion Akoya E7225 (MD98857)
    
    commit 1d90d6d5522befa8efa1a7ea406be65cf865ded4 upstream.
    
    Without this the aux port does not get detected, and consequently the touchpad
    will not work.
    
    With this patch the touchpad is detected:
    
    $ dmesg | grep -E "(SYN|i8042|serio)"
    pnp 00:03: Plug and Play ACPI device, IDs SYN1d22 PNP0f13 (active)
    i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
    serio: i8042 KBD port at 0x60,0x64 irq 1
    serio: i8042 AUX port at 0x60,0x64 irq 12
    input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
    psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd00123/0x840300/0x126800, board id: 2863, fw id: 1473085
    input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input6
    
    dmidecode excerpt for this laptop is:
    
    Handle 0x0001, DMI type 1, 27 bytes
    System Information
            Manufacturer: Medion
            Product Name: Akoya E7225
            Version: 1.0
    
    Signed-off-by: Jochen Hein <jochen@jochen.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d02122d00448833a8798d121a8e790e2ff2b339b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 19 16:29:25 2015 -0800

    Input: synaptics - adjust min/max for Lenovo ThinkPad X1 Carbon 2nd
    
    commit 8543cf1c247909ce85850ca6e2714adba351d6aa upstream.
    
    LEN0037 found in the Lenovo ThinkPad X1 Carbon 2nd (2014 model)
    
    Reported-and-tested-by: Bjoern Olausson <bjoern@olausson.de>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ca7591a3c8fa06453a8a402dca3c82c0f70a670c
Author: Paul Osmialowski <p.osmialowsk@samsung.com>
Date:   Mon Jan 19 17:03:33 2015 +0100

    i2c: s3c2410: fix ABBA deadlock by keeping clock prepared
    
    commit 34e81ad5f0b60007c95995eb7803da7e00c6c611 upstream.
    
    This patch solves deadlock between clock prepare mutex and regmap mutex reported
    by Tomasz Figa in [1] by implementing solution from [2]: "always leave the clock
    of the i2c controller in a prepared state".
    
    [1] https://lkml.org/lkml/2014/7/2/171
    [2] https://lkml.org/lkml/2014/7/2/207
    
    On each i2c transfer handled by s3c24xx_i2c_xfer(), clk_prepare_enable() was
    called, which calls clk_prepare() then clk_enable(). clk_prepare() takes
    prepare_lock mutex before proceeding. Note that i2c transfer functions are
    invoked from many places in kernel, typically with some other additional lock
    held.
    
    It may happen that function on CPU1 (e.g. regmap_update_bits()) has taken a
    mutex (i.e. regmap lock mutex) then it attempts i2c communication in order to
    proceed (so it needs to obtain clock related prepare_lock mutex during transfer
    preparation stage due to clk_prepare() call). At the same time other task on
    CPU0 wants to operate on clock (e.g. to (un)prepare clock for some other reason)
    so it has taken prepare_lock mutex.
    
    CPU0:                        CPU1:
    clk_disable_unused()         regulator_disable()
      clk_prepare_lock()           map->lock(map->lock_arg)
      regmap_read()                s3c24xx_i2c_xfer()
        map->lock(map->lock_arg)     clk_prepare_lock()
    
    Implemented solution from [2] leaves i2c clock prepared. Preparation is done in
    s3c24xx_i2c_probe() function. Without this patch, it is immediately unprepared
    by clk_disable_unprepare() call. I've replaced this call with clk_disable() and
    I've added clk_unprepare() call in s3c24xx_i2c_remove().
    
    The s3c24xx_i2c_xfer() function now uses clk_enable() instead of
    clk_prepare_enable() (and clk_disable() instead of clk_unprepare_disable()).
    
    Signed-off-by: Paul Osmialowski <p.osmialowsk@samsung.com>
    Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1027dfa58f3655ee5a2309b44ce5be637fd621fd
Author: Ilya Dryomov <idryomov@redhat.com>
Date:   Mon Jan 19 12:06:14 2015 +0300

    rbd: drop parent_ref in rbd_dev_unprobe() unconditionally
    
    commit e69b8d414f948c242ad9f3eb2b7e24fba783dbbd upstream.
    
    This effectively reverts the last hunk of 392a9dad7e77 ("rbd: detect
    when clone image is flattened").
    
    The problem with parent_overlap != 0 condition is that it's possible
    and completely valid to have an image with parent_overlap == 0 whose
    parent state needs to be cleaned up on unmap.  The next commit, which
    drops the "clone image now standalone" logic, opens up another window
    of opportunity to hit this, but even without it
    
        # cat parent-ref.sh
        #!/bin/bash
        rbd create --image-format 2 --size 1 foo
        rbd snap create foo@snap
        rbd snap protect foo@snap
        rbd clone foo@snap bar
        rbd resize --allow-shrink --size 0 bar
        rbd resize --size 1 bar
        DEV=$(rbd map bar)
        rbd unmap $DEV
    
    leaves rbd_device/rbd_spec/etc and rbd_client along with ceph_client
    hanging around.
    
    My thinking behind calling rbd_dev_parent_put() unconditionally is that
    there shouldn't be any requests in flight at that point in time as we
    are deep into unmap sequence.  Hence, even if rbd_dev_unparent() caused
    by flatten is delayed by in-flight requests, it will have finished by
    the time we reach rbd_dev_unprobe() caused by unmap, thus turning
    unconditional rbd_dev_parent_put() into a no-op.
    
    Fixes: http://tracker.ceph.com/issues/10352
    
    Signed-off-by: Ilya Dryomov <idryomov@redhat.com>
    Reviewed-by: Josh Durgin <jdurgin@redhat.com>
    Reviewed-by: Alex Elder <elder@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fe0b03adb9bce09149de2a1f4b419c762d9a2f66
Author: Clemens Ladisch <clemens@ladisch.de>
Date:   Sun Jan 25 14:34:29 2015 +0100

    ALSA: seq-dummy: remove deadlock-causing events on close
    
    commit 0767e95bb96d7fdddcd590fb809e6975d93aebc5 upstream.
    
    When the last subscriber to a "Through" port has been removed, the
    subscribed destination ports might still be active, so it would be
    wrong to send "all sounds off" and "reset controller" events to them.
    The proper place for such a shutdown would be the closing of the actual
    MIDI port (and close_substream() in rawmidi.c already can do this).
    
    This also fixes a deadlock when dummy_unuse() tries to send events to
    its own port that is already locked because it is being freed.
    
    Reported-by: Peter Billam <peter@www.pjb.com.au>
    Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d403171d23bf990c18a40fc3af8df09cfd0dfa93
Author: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Date:   Thu Jan 15 18:23:47 2015 +0100

    powerpc/xmon: Fix another endiannes issue in RTAS call from xmon
    
    commit e6eb2eba494d6f99e69ca3c3748cd37a2544ab38 upstream.
    
    The commit 3b8a3c010969 ("powerpc/pseries: Fix endiannes issue in RTAS
    call from xmon") was fixing an endianness issue in the call made from
    xmon to RTAS.
    
    However, as Michael Ellerman noticed, this fix was not complete, the
    token value was not byte swapped. This lead to call an unexpected and
    most of the time unexisting RTAS function, which is silently ignored by
    RTAS.
    
    This fix addresses this hole.
    
    Reported-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 91ea34506c9cd98424a689e855a347445457b032
Author: Ahmed S. Darwish <ahmed.darwish@valeo.com>
Date:   Mon Jan 26 07:25:43 2015 +0200

    can: kvaser_usb: Fix state handling upon BUS_ERROR events
    
    commit e638642b08c170d2021b706f0b1c4f4ae93d8cbd upstream.
    
    While being in an ERROR_WARNING state, and receiving further
    bus error events with error counters still in the ERROR_WARNING
    range of 97-127 inclusive, the state handling code erroneously
    reverts back to ERROR_ACTIVE.
    
    Per the CAN standard, only revert to ERROR_ACTIVE when the
    error counters are less than 96.
    
    Moreover, in certain Kvaser models, the BUS_ERROR flag is
    always set along with undefined bits in the M16C status
    register. Thus use bitwise operators instead of full equality
    for checking that register against bus errors.
    
    Signed-off-by: Ahmed S. Darwish <ahmed.darwish@valeo.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 163113183b105d61446bb6395e14ae156db3ecd5
Author: Ahmed S. Darwish <ahmed.darwish@valeo.com>
Date:   Mon Jan 26 07:24:06 2015 +0200

    can: kvaser_usb: Retry the first bulk transfer on -ETIMEDOUT
    
    commit 14c10c2a1dd8eb8e00b750b521753260befa2789 upstream.
    
    On some x86 laptops, plugging a Kvaser device again after an
    unplug makes the firmware always ignore the very first command.
    For such a case, provide some room for retries instead of
    completely exiting the driver init code.
    
    Signed-off-by: Ahmed S. Darwish <ahmed.darwish@valeo.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4a2c136417e2e16fedc8e426cc0a739396bad132
Author: Ahmed S. Darwish <ahmed.darwish@valeo.com>
Date:   Mon Jan 26 07:22:54 2015 +0200

    can: kvaser_usb: Send correct context to URB completion
    
    commit 3803fa6977f1de15fda4e8646c8fec97c8045cae upstream.
    
    Send expected argument to the URB completion hander: a CAN
    netdevice instead of the network interface private context
    `kvaser_usb_net_priv'.
    
    This was discovered by having some garbage in the kernel
    log in place of the netdevice names: can0 and can1.
    
    Signed-off-by: Ahmed S. Darwish <ahmed.darwish@valeo.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 020c2f9f79e798d77ef9002a412c92659fff4996
Author: Ahmed S. Darwish <ahmed.darwish@valeo.com>
Date:   Mon Jan 26 07:20:39 2015 +0200

    can: kvaser_usb: Do not sleep in atomic context
    
    commit ded5006667318c06df875609535176bd33f243a1 upstream.
    
    Upon receiving a hardware event with the BUS_RESET flag set,
    the driver kills all of its anchored URBs and resets all of
    its transmit URB contexts.
    
    Unfortunately it does so under the context of URB completion
    handler `kvaser_usb_read_bulk_callback()', which is often
    called in an atomic context.
    
    While the device is flooded with many received error packets,
    usb_kill_urb() typically sleeps/reschedules till the transfer
    request of each killed URB in question completes, leading to
    the sleep in atomic bug. [3]
    
    In v2 submission of the original driver patch [1], it was
    stated that the URBs kill and tx contexts reset was needed
    since we don't receive any tx acknowledgments later and thus
    such resources will be locked down forever. Fortunately this
    is no longer needed since an earlier bugfix in this patch
    series is now applied: all tx URB contexts are reset upon CAN
    channel close. [2]
    
    Moreover, a BUS_RESET is now treated _exactly_ like a BUS_OFF
    event, which is the recommended handling method advised by
    the device manufacturer.
    
    [1] http://article.gmane.org/gmane.linux.network/239442
        http://www.webcitation.org/6Vr2yagAQ
    
    [2] can: kvaser_usb: Reset all URB tx contexts upon channel close
        889b77f7fd2bcc922493d73a4c51d8a851505815
    
    [3] Stacktrace:
    
     <IRQ>  [<ffffffff8158de87>] dump_stack+0x45/0x57
     [<ffffffff8158b60c>] __schedule_bug+0x41/0x4f
     [<ffffffff815904b1>] __schedule+0x5f1/0x700
     [<ffffffff8159360a>] ? _raw_spin_unlock_irqrestore+0xa/0x10
     [<ffffffff81590684>] schedule+0x24/0x70
     [<ffffffff8147d0a5>] usb_kill_urb+0x65/0xa0
     [<ffffffff81077970>] ? prepare_to_wait_event+0x110/0x110
     [<ffffffff8147d7d8>] usb_kill_anchored_urbs+0x48/0x80
     [<ffffffffa01f4028>] kvaser_usb_unlink_tx_urbs+0x18/0x50 [kvaser_usb]
     [<ffffffffa01f45d0>] kvaser_usb_rx_error+0xc0/0x400 [kvaser_usb]
     [<ffffffff8108b14a>] ? vprintk_default+0x1a/0x20
     [<ffffffffa01f5241>] kvaser_usb_read_bulk_callback+0x4c1/0x5f0 [kvaser_usb]
     [<ffffffff8147a73e>] __usb_hcd_giveback_urb+0x5e/0xc0
     [<ffffffff8147a8a1>] usb_hcd_giveback_urb+0x41/0x110
     [<ffffffffa0008748>] finish_urb+0x98/0x180 [ohci_hcd]
     [<ffffffff810cd1a7>] ? acct_account_cputime+0x17/0x20
     [<ffffffff81069f65>] ? local_clock+0x15/0x30
     [<ffffffffa000a36b>] ohci_work+0x1fb/0x5a0 [ohci_hcd]
     [<ffffffff814fbb31>] ? process_backlog+0xb1/0x130
     [<ffffffffa000cd5b>] ohci_irq+0xeb/0x270 [ohci_hcd]
     [<ffffffff81479fc1>] usb_hcd_irq+0x21/0x30
     [<ffffffff8108bfd3>] handle_irq_event_percpu+0x43/0x120
     [<ffffffff8108c0ed>] handle_irq_event+0x3d/0x60
     [<ffffffff8108ec84>] handle_fasteoi_irq+0x74/0x110
     [<ffffffff81004dfd>] handle_irq+0x1d/0x30
     [<ffffffff81004727>] do_IRQ+0x57/0x100
     [<ffffffff8159482a>] common_interrupt+0x6a/0x6a
    
    Signed-off-by: Ahmed S. Darwish <ahmed.darwish@valeo.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 247675d55549989df70d494c60c2e1b1b5b7dcd0
Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
Date:   Fri Jan 16 11:20:25 2015 +0200

    ASoC: omap-mcbsp: Correct CBM_CFS dai format configuration
    
    commit 20602e34cd33dd452bc1836fa7c9b59978f75db0 upstream.
    
    We should select FSR also to be driven by McBSP, not only FSX.
    
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f48df470bc8d9f106d1833f36a3f8944d3588346
Author: Qais Yousef <qais.yousef@imgtec.com>
Date:   Wed Jan 14 08:47:29 2015 +0000

    ASoC: soc-compress.c: fix NULL dereference
    
    commit d3268a40d4b19ff7bee23f52eabbc4e96bb685e8 upstream.
    
    In soc_new_compress() when rtd->dai_link->dynamic is set, we create the pcm
    substreams with this call:
    
       ret = snd_pcm_new_internal(rtd->card->snd_card, new_name, num,
                                       1, 0, &be_pcm);
    
    which passes 0 as capture_count leading to
    
       be_pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream
    
    being NULL, hence when trying to set rtd a few lines below we get an oops.
    
    Fix by using rtd->dai_link->dpcm_playback and rtd->dai_link->dpcm_capture as
    playback_count and capture_count to snd_pcm_new_internal().
    
    Signed-off-by: Qais Yousef <qais.yousef@imgtec.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f1251f53c8da53443b33eefce82772176be9452a
Author: Aurelien BOUIN <a_bouin@yahoo.fr>
Date:   Mon Dec 29 16:13:51 2014 -0800

    ASoC: fsl_esai: Fix incorrect xDC field width of xCCR registers
    
    commit adc60298c80efef4c2d7a7860b91b450931a7cf8 upstream.
    
    The xDC field should have 5 bit width according to Reference Manual.
    Thus this patch fixes it.
    
    Signed-off-by: Aurelien BOUIN <a_bouin@yahoo.fr>
    Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6ed72cce43a5599a3df4d7c658a887795c46f5e8
Author: Zidan Wang <b50113@freescale.com>
Date:   Wed Dec 31 11:39:14 2014 +0800

    ASoC: wm8960: Fix capture sample rate from 11250 to 11025
    
    commit 22ee76daddb87f88d2336d1b4737ef27c4f307ac upstream.
    
    wm8960 codec can't support sample rate 11250, it must be 11025.
    
    Signed-off-by: Zidan Wang <b50113@freescale.com>
    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 8d1ac9b68cab13300424179059db0a7056ca456f
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Fri Jan 2 17:48:51 2015 +0200

    spi: dw-mid: fix FIFO size
    
    commit 67bf9cda4b498b8cea4a40be67a470afe57d2e88 upstream.
    
    The FIFO size is 40 accordingly to the specifications, but this means 0x40,
    i.e. 64 bytes. This patch fixes the typo and enables FIFO size autodetection
    for Intel MID devices.
    
    Fixes: 7063c0d942a1 (spi/dw_spi: add DMA support)
    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 0595b9318ab26bd884d731b00e81708ce942f70d
Author: Kees Cook <keescook@chromium.org>
Date:   Mon Jan 26 12:58:35 2015 -0800

    x86, build: replace Perl script with Shell script
    
    commit d69911a68c865b152a067feaa45e98e6bb0f655b upstream.
    
    Commit e6023367d779 ("x86, kaslr: Prevent .bss from overlaping initrd")
    added Perl to the required build environment.  This reimplements in
    shell the Perl script used to find the size of the kernel with bss and
    brk added.
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Reported-by: Rob Landley <rob@landley.net>
    Acked-by: Rob Landley <rob@landley.net>
    Cc: Anca Emanuel <anca.emanuel@gmail.com>
    Cc: Fengguang Wu <fengguang.wu@intel.com>
    Cc: Junjie Mao <eternal.n08@gmail.com>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: <stable@vger.kernel.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>