commit fce5b5fc495819be9eef7d4d41a9659b2968c7ea
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Jun 11 12:02:49 2014 -0700

    Linux 3.14.7

commit 51d20e1096a711f8cfa9d98a3ac2dd2c7c0fc20c
Author: David Woodhouse <dwmw2@infradead.org>
Date:   Mon Jun 9 14:09:53 2014 +0100

    iommu/vt-d: Fix missing IOTLB flush in intel_iommu_unmap()
    
    Based on commit ea8ea460c9ace60bbb5ac6e5521d637d5c15293d upstream
    
    This missing IOTLB flush was added as a minor, inconsequential bug-fix
    in commit ea8ea460c ("iommu/vt-d: Clean up and fix page table clear/free
    behaviour") in 3.15. It wasn't originally intended for -stable but a
    couple of users have reported issues which turn out to be fixed by
    adding the missing flush.
    
    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

commit f10acdb935fa79b48719e0a7bf284b7c1e5bf776
Author: Michael Welling <mwelling@ieee.org>
Date:   Wed Apr 16 20:00:24 2014 -0500

    gpio: mcp23s08: Bug fix of SPI device tree registration.
    
    commit 99e4b98dbe3ad1fe38a74d12c3b8d44a55930de4 upstream.
    
    The chips variable needs to be incremented for each chip that is
    found in the spi_present_mask when registering via device tree.
    Without this and the checking a negative index is passed to the
    data->chip array in a subsequent loop.
    
    Signed-off-by: Michael Welling <mwelling@ieee.org>
    Acked-by: Peter Korsgaard <peter@korsgaard.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3af2e71643df2f603bea99a7e0e13afbf9ea6d78
Author: Imre Deak <imre.deak@intel.com>
Date:   Tue Feb 11 17:12:49 2014 +0200

    drm/i915: dp: fix order of dp aux i2c device cleanup
    
    commit 80f65de3c9b8101c1613fa82df500ba6a099a11c upstream.
    
    Atm we set the parent of the dp i2c device to be the correspondig
    connector device. During driver cleanup we first remove the connector
    device through intel_modeset_cleanup()->drm_sysfs_connector_remove() and
    only after that the i2c device through the encoder's destroy callback.
    This order is not supported by the device core and we'll get a warning,
    see the below bugzilla ticket. The proper order is to remove first any
    child device and only then the parent device.
    
    The first part of the fix changes the i2c device's parent to be the drm
    device. Its logical owner is not the connector anyway, but the encoder.
    Since the encoder doesn't have a device object, the next best choice is
    the drm device. This is the same what we do in the case of the sdvo i2c
    device and what the nouveau driver does.
    
    The second part creates a symlink in the connector's sysfs directory
    pointing to the i2c device. This is so, that we keep the current ABI,
    which also makes sense in case someone wants to look up the i2c device
    belonging to a specific connector.
    
    Reference: http://lists.freedesktop.org/archives/intel-gfx/2014-January/038782.html
    Reference: http://lists.freedesktop.org/archives/intel-gfx/2014-February/039427.html
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70523
    Signed-off-by: Imre Deak <imre.deak@intel.com>
    Reviewed-by: Antti Koskipää <antti.koskipaa@linux.intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 19eab47618d2e89f4c8d071c24d3f0f4b62363cd
Author: Imre Deak <imre.deak@intel.com>
Date:   Tue Feb 11 17:12:48 2014 +0200

    drm/i915: add unregister callback to connector
    
    commit 4932e2c3c716067f3580e1a9687bed9d751549e3 upstream.
    
    Since
    
    commit d9255d57147e1dbcebdf6670409c2fa0ac3609e6
    Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
    Date:   Thu Sep 26 20:05:59 2013 -0300
    
    it became clear that we need to separate the unload sequence into two
    parts:
    
    1. remove all interfaces through which new operations on some object
       (crtc, encoder, connector) can be started and make sure all pending
       operations are completed
    2. do the actual tear down of the internal representation of the above
       objects
    
    The above commit achieved this separation for connectors by splitting
    out the sysfs removal part from the connector's destroy callback and
    doing this removal before calling drm_mode_config_cleanup() which does
    the actual tear-down of all the drm objects.
    
    Since we'll have to customize the interface removal part for different
    types of connectors in the upcoming patches, add a new unregister
    callback and move the interface removal part to it.
    
    No functional change.
    
    Signed-off-by: Imre Deak <imre.deak@intel.com>
    Reviewed-by: Antti Koskipää <antti.koskipaa@linux.intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 07e8687141e5073ff7931666982232bdc4bc3400
Author: Denys Fedoryshchenko <nuclearcat@nuclearcat.com>
Date:   Sun May 4 13:35:37 2014 +0200

    netfilter: nfnetlink: Fix use after free when it fails to process batch
    
    commit ecd15dd7e45f3683fa8142b9f2c015dfaa0c243d upstream.
    
    This bug manifests when calling the nft command line tool without
    nf_tables kernel support.
    
    kernel message:
    [   44.071555] Netfilter messages via NETLINK v0.30.
    [   44.072253] BUG: unable to handle kernel NULL pointer dereference at 0000000000000119
    [   44.072264] IP: [<ffffffff8171db1f>] netlink_getsockbyportid+0xf/0x70
    [   44.072272] PGD 7f2b74067 PUD 7f2b73067 PMD 0
    [   44.072277] Oops: 0000 [#1] SMP
    [...]
    [   44.072369] Call Trace:
    [   44.072373]  [<ffffffff8171fd81>] netlink_unicast+0x91/0x200
    [   44.072377]  [<ffffffff817206c9>] netlink_ack+0x99/0x110
    [   44.072381]  [<ffffffffa004b951>] nfnetlink_rcv+0x3c1/0x408 [nfnetlink]
    [   44.072385]  [<ffffffff8171fde3>] netlink_unicast+0xf3/0x200
    [   44.072389]  [<ffffffff817201ef>] netlink_sendmsg+0x2ff/0x740
    [   44.072394]  [<ffffffff81044752>] ? __mmdrop+0x62/0x90
    [   44.072398]  [<ffffffff816dafdb>] sock_sendmsg+0x8b/0xc0
    [   44.072403]  [<ffffffff812f1af5>] ? copy_user_enhanced_fast_string+0x5/0x10
    [   44.072406]  [<ffffffff816dbb6c>] ? move_addr_to_kernel+0x2c/0x50
    [   44.072410]  [<ffffffff816db423>] ___sys_sendmsg+0x3c3/0x3d0
    [   44.072415]  [<ffffffff811301ba>] ? handle_mm_fault+0xa9a/0xc60
    [   44.072420]  [<ffffffff811362d6>] ? mmap_region+0x166/0x5a0
    [   44.072424]  [<ffffffff817da84c>] ? __do_page_fault+0x1dc/0x510
    [   44.072428]  [<ffffffff812b8b2c>] ? apparmor_capable+0x1c/0x60
    [   44.072435]  [<ffffffff817d6e9a>] ? _raw_spin_unlock_bh+0x1a/0x20
    [   44.072439]  [<ffffffff816dfc86>] ? release_sock+0x106/0x150
    [   44.072443]  [<ffffffff816dc212>] __sys_sendmsg+0x42/0x80
    [   44.072446]  [<ffffffff816dc262>] SyS_sendmsg+0x12/0x20
    [   44.072450]  [<ffffffff817df616>] system_call_fastpath+0x1a/0x1f
    
    Signed-off-by: Denys Fedoryshchenko <nuclearcat@nuclearcat.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 64db35627759552fe11de45d3787737a6fe9a3af
Author: Sergey Popovich <popovich_sergei@mail.ru>
Date:   Thu May 8 16:22:35 2014 +0300

    netfilter: Fix potential use after free in ip6_route_me_harder()
    
    commit a8951d5814e1373807a94f79f7ccec7041325470 upstream.
    
    Dst is released one line before we access it again with dst->error.
    
    Fixes: 58e35d147128 netfilter: ipv6: propagate routing errors from
    ip6_route_me_harder()
    
    Signed-off-by: Sergey Popovich <popovich_sergei@mail.ru>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fed542cfe4ed6077767b9e1dcf6bf2bc73c115b6
Author: Nicholas Bellinger <nab@linux-iscsi.org>
Date:   Fri Jun 6 00:52:57 2014 -0700

    target: Fix alua_access_state attribute OOPs for un-configured devices
    
    commit f1453773514bb8b0bba0716301e8c8f17f8d39c7 upstream.
    
    This patch fixes a OOPs where an attempt to write to the per-device
    alua_access_state configfs attribute at:
    
      /sys/kernel/config/target/core/$HBA/$DEV/alua/$TG_PT_GP/alua_access_state
    
    results in an NULL pointer dereference when the backend device has not
    yet been configured.
    
    This patch adds an explicit check for DF_CONFIGURED, and fails with
    -ENODEV to avoid this case.
    
    Reported-by: Chris Boot <crb@tiger-computing.co.uk>
    Reported-by: Philip Gaw <pgaw@darktech.org.uk>
    Cc: Chris Boot <crb@tiger-computing.co.uk>
    Cc: Philip Gaw <pgaw@darktech.org.uk>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d0473df3f2efb211493f6150c6d88c0d132131e4
Author: Roland Dreier <roland@purestorage.com>
Date:   Thu May 29 13:32:30 2014 -0700

    iscsi-target: Fix wrong buffer / buffer overrun in iscsi_change_param_value()
    
    commit 79d59d08082dd0a0a18f8ceb78c99f9f321d72aa upstream.
    
    In non-leading connection login, iscsi_login_non_zero_tsih_s1() calls
    iscsi_change_param_value() with the buffer it uses to hold the login
    PDU, not a temporary buffer.  This leads to the login header getting
    corrupted and login failing for non-leading connections in MC/S.
    
    Fix this by adding a wrapper iscsi_change_param_sprintf() that handles
    the temporary buffer itself to avoid confusion.  Also handle sending a
    reject in case of failure in the wrapper, which lets the calling code
    get quite a bit smaller and easier to read.
    
    Finally, bump the size of the temporary buffer from 32 to 64 bytes to be
    safe, since "MaxRecvDataSegmentLength=" by itself is 25 bytes; with a
    trailing NUL, a value >= 1M will lead to a buffer overrun.  (This isn't
    the default but we don't need to run right at the ragged edge here)
    
    Reported-by: Santosh Kulkarni <santosh.kulkarni@calsoftinc.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit eca33548a672a6ad6d5add846885f76d33f4c4b3
Author: Nicholas Bellinger <nab@linux-iscsi.org>
Date:   Fri May 23 00:48:35 2014 -0700

    iser-target: Add missing target_put_sess_cmd for ImmedateData failure
    
    commit 6cc44a6fb46e1ecc1c28125aa8fa34d317aa9ea7 upstream.
    
    This patch addresses a bug where an early exception for SCSI WRITE
    with ImmediateData=Yes was missing the target_put_sess_cmd() call
    to drop the extra se_cmd->cmd_kref reference obtained during the
    normal iscsit_setup_scsi_cmd() codepath execution.
    
    This bug was manifesting itself during session shutdown within
    isert_cq_rx_comp_err() where target_wait_for_sess_cmds() would
    end up waiting indefinately for the last se_cmd->cmd_kref put to
    occur for the failed SCSI WRITE + ImmediateData descriptors.
    
    This fix follows what traditional iscsi-target code already does
    for the same failure case within iscsit_get_immediate_data().
    
    Reported-by: Sagi Grimberg <sagig@dev.mellanox.co.il>
    Cc: Sagi Grimberg <sagig@dev.mellanox.co.il>
    Cc: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3ed6413483c7a43b9d38111357ce99afab441717
Author: Andrey Ryabinin <a.ryabinin@samsung.com>
Date:   Fri Jun 6 19:09:30 2014 +0400

    mm: rmap: fix use-after-free in __put_anon_vma
    
    commit 624483f3ea82598ab0f62f1bdb9177f531ab1892 upstream.
    
    While working address sanitizer for kernel I've discovered
    use-after-free bug in __put_anon_vma.
    
    For the last anon_vma, anon_vma->root freed before child anon_vma.
    Later in anon_vma_free(anon_vma) we are referencing to already freed
    anon_vma->root to check rwsem.
    
    This fixes it by freeing the child anon_vma before freeing
    anon_vma->root.
    
    Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>
    Acked-by: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 395982ce12b3aba14a197ead3e5828e77e11aec1
Author: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Date:   Fri Jun 6 10:00:01 2014 -0400

    mm: add !pte_present() check on existing hugetlb_entry callbacks
    
    commit d4c54919ed86302094c0ca7d48a8cbd4ee753e92 upstream.
    
    The age table walker doesn't check non-present hugetlb entry in common
    path, so hugetlb_entry() callbacks must check it.  The reason for this
    behavior is that some callers want to handle it in its own way.
    
    [ I think that reason is bogus, btw - it should just do what the regular
      code does, which is to call the "pte_hole()" function for such hugetlb
      entries  - Linus]
    
    However, some callers don't check it now, which causes unpredictable
    result, for example when we have a race between migrating hugepage and
    reading /proc/pid/numa_maps.  This patch fixes it by adding !pte_present
    checks on buggy callbacks.
    
    This bug exists for years and got visible by introducing hugepage
    migration.
    
    ChangeLog v2:
    - fix if condition (check !pte_present() instead of pte_present())
    
    Reported-by: Sasha Levin <sasha.levin@oracle.com>
    Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
    Cc: Rik van Riel <riel@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    [ Backported to 3.15.  Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> ]
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9f3c8fdbb9786e46ffc6d2e261c9bf903e37fd4a
Author: Doug Smythies <dsmythies@telus.net>
Date:   Fri May 30 10:10:57 2014 -0700

    intel_pstate: Improve initial busy calculation
    
    commit bf8102228a8bf053051f311e5486042fe0542894 upstream.
    
    This change makes the busy calculation using 64 bit math which prevents
    overflow for large values of aperf/mperf.
    
    Signed-off-by: Doug Smythies <dsmythies@telus.net>
    Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fb145ac9f30cf84d18a26b63e18c94849be54313
Author: Dirk Brandewie <dirk.j.brandewie@intel.com>
Date:   Thu May 29 09:32:24 2014 -0700

    intel_pstate: add sample time scaling
    
    commit c4ee841f602e5eef8eab673295c49c5b49d7732b upstream.
    
    The PID assumes that samples are of equal time, which for a deferable
    timers this is not true when the system goes idle.  This causes the
    PID to take a long time to converge to the min P state and depending
    on the pattern of the idle load can make the P state appear stuck.
    
    The hold-off value of three sample times before using the scaling is
    to give a grace period for applications that have high performance
    requirements and spend a lot of time idle,  The poster child for this
    behavior is the ffmpeg benchmark in the Phoronix test suite.
    
    Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 85db8604350ab6eb012a08fb6b81eb840201eb29
Author: Dirk Brandewie <dirk.j.brandewie@intel.com>
Date:   Thu May 29 09:32:23 2014 -0700

    intel_pstate: Correct rounding in busy calculation
    
    commit f0fe3cd7e12d8290c82284b5c8aee723cbd0371a upstream.
    
    Changing to fixed point math throughout the busy calculation in
    commit e66c1768 (Change busy calculation to use fixed point
    math.) Introduced some inaccuracies by rounding the busy value at two
    points in the calculation.  This change removes roundings and moves
    the rounding to the output of the PID where the calculations are
    complete and the value returned as an integer.
    
    Fixes: e66c17683746 (intel_pstate: Change busy calculation to use fixed point math.)
    Reported-by: Doug Smythies <dsmythies@telus.net>
    Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cba64e6cbf312042e124dbf669e0a1e1dee72522
Author: Dirk Brandewie <dirk.j.brandewie@intel.com>
Date:   Thu May 29 09:32:22 2014 -0700

    intel_pstate: Remove C0 tracking
    
    commit adacdf3f2b8e65aa441613cf61c4f598e9042690 upstream.
    
    Commit fcb6a15c (intel_pstate: Take core C0 time into account for core
    busy calculation) introduced a regression referenced below.  The issue
    with "lockup" after suspend that this commit was addressing is now dealt
    with in the suspend path.
    
    Fixes: fcb6a15c2e7e (intel_pstate: Take core C0 time into account for core busy calculation)
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=66581
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=75121
    Reported-by: Doug Smythies <dsmythies@telus.net>
    Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e89856b6c32bf5ac6a7312c9401c7bba0fbcb675
Author: Dirk Brandewie <dirk.j.brandewie@intel.com>
Date:   Wed Feb 12 10:01:04 2014 -0800

    intel_pstate: remove unneeded sample buffers
    
    commit d37e2b764499e092ebc493d6f980827feb952e23 upstream.
    
    Remove unneeded sample buffers, intel_pstate operates on the most
    recent sample only.  This save some memory and make the code more
    readable.
    
    Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1b96b1053c63fb751a58444f32bef28fb5ddf3e7
Author: Sebastian Ott <sebott@linux.vnet.ibm.com>
Date:   Wed Jun 4 15:58:24 2014 +0200

    percpu-refcount: fix usage of this_cpu_ops
    
    commit 0c36b390a546055b6815d4b93a2c9fed4d980ffb upstream.
    
    The percpu-refcount infrastructure uses the underscore variants of
    this_cpu_ops in order to modify percpu reference counters.
    (e.g. __this_cpu_inc()).
    
    However the underscore variants do not atomically update the percpu
    variable, instead they may be implemented using read-modify-write
    semantics (more than one instruction).  Therefore it is only safe to
    use the underscore variant if the context is always the same (process,
    softirq, or hardirq). Otherwise it is possible to lose updates.
    
    This problem is something that Sebastian has seen within the aio
    subsystem which uses percpu refcounters both in process and softirq
    context leading to reference counts that never dropped to zeroes; even
    though the number of "get" and "put" calls matched.
    
    Fix this by using the non-underscore this_cpu_ops variant which
    provides correct per cpu atomic semantics and fixes the corrupted
    reference counts.
    
    Cc: Kent Overstreet <kmo@daterainc.com>
    Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    References: http://lkml.kernel.org/g/alpine.LFD.2.11.1406041540520.21183@denkbrett
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6bf64643e2a6578d5ef64a8bcbd0f9b993063120
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Fri May 23 10:45:54 2014 -0400

    USB: Avoid runtime suspend loops for HCDs that can't handle suspend/resume
    
    commit 8ef42ddd9a53b73e6fc3934278710c27f80f324f upstream.
    
    Not all host controller drivers have bus-suspend and bus-resume
    methods.  When one doesn't, it will cause problems if runtime PM is
    enabled in the kernel.  The PM core will attempt to suspend the
    controller's root hub, the suspend will fail because there is no
    bus-suspend routine, and a -EBUSY error code will be returned to the
    PM core.  This will cause the suspend attempt to be repeated shortly
    thereafter, in a never-ending loop.
    
    Part of the problem is that the original error code -ENOENT gets
    changed to -EBUSY in usb_runtime_suspend(), on the grounds that the PM
    core will interpret -ENOENT as meaning that the root hub has gotten
    into a runtime-PM error state.  While this change is appropriate for
    real USB devices, it's not such a good idea for a root hub.  In fact,
    considering the root hub to be in a runtime-PM error state would not
    be far from the truth.  Therefore this patch updates
    usb_runtime_suspend() so that it adjusts error codes only for
    non-root-hub devices.
    
    Furthermore, the patch attempts to prevent the problem from occurring
    in the first place by not enabling runtime PM by default for root hubs
    whose host controller driver doesn't have bus_suspend and bus_resume
    methods.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Reported-by: Will Deacon <will.deacon@arm.com>
    Tested-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b3fe93951b249262799da15d571ea7240f323f6e
Author: Mathias Nyman <mathias.nyman@linux.intel.com>
Date:   Wed May 28 23:18:35 2014 +0300

    usb: pci-quirks: Prevent Sony VAIO t-series from switching usb ports
    
    commit b38f09ccc3fd453180e96273bf3f34083c30809a upstream.
    
    Sony VAIO t-series machines are not capable of switching usb2 ports over
    from Intel EHCI to xHCI controller. If tried the USB2 port will be left
    unconnected and unusable.
    
    This patch should be backported to stable kernels as old as 3.12,
    that contain the commit 26b76798e0507429506b93cd49f8c4cfdab06896
    "Intel xhci: refactor EHCI/xHCI port switching"
    
    Reported-by: Jorge <xxopxe@gmail.com>
    Tested-by: Jorge <xxopxe@gmail.com>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9a4f7fa27b70efbb95ff96cfc6c5e7d66dd6ce20
Author: Johan Hovold <jhovold@gmail.com>
Date:   Sat Apr 26 11:53:44 2014 +0200

    USB: io_ti: fix firmware download on big-endian machines (part 2)
    
    commit c03890ff5e24a4bf59059f2d179f427559b7330a upstream.
    
    A recent patch that purported to fix firmware download on big-endian
    machines failed to add the corresponding sparse annotation to the
    i2c-header. This was reported by the kbuild test robot.
    
    Adding the appropriate annotation revealed another endianess bug related
    to the i2c-header Size-field in a code path that is exercised when the
    firmware is actually being downloaded (and not just verified and left
    untouched unless older than the firmware at hand).
    
    This patch adds the required sparse annotation to the i2c-header and
    makes sure that the Size-field is sent in little-endian byte order
    during firmware download also on big-endian machines.
    
    Note that this patch is only compile-tested, but that there is no
    functional change for little-endian systems.
    
    Reported-by: kbuild test robot <fengguang.wu@intel.com>
    Cc: Ludovic Drolez <ldrolez@debian.org>
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0e8b56465c203b11b409d3cd90ce0a415d33d417
Author: Alexej Starschenko <starschenko@gmail.com>
Date:   Wed May 7 10:43:29 2014 +0200

    USB: serial: option: add support for Novatel E371 PCIe card
    
    commit 8a61ba3a47ac39f660702aa66a172185dd605a86 upstream.
    
    Adds product ID for the Novatel E371 PCI Express Mini Card.
    
    $ lsusb
    Bus 001 Device 024: ID 1410:9011 Novatel Wireless
    
    $ usb-devices
    T:  Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 24 Spd=480 MxCh= 0
    D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=1410 ProdID=9011 Rev=00.03
    S:  Manufacturer=Novatel Wireless, Inc.
    S:  Product=Novatel Wireless HSPA
    S:  SerialNumber=012773002115811
    C:  #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr=500mA
    I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    I:  If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    I:  If#= 6 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether
    I:  If#= 7 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
    
    Tested with kernel 3.2.0.
    
    Signed-off-by: Alexej Starschenko <starschenko@gmail.com>
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 852b4ede30ea6712d2e26d602ef02ee3f07ede47
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Tue May 27 16:32:10 2014 -0700

    USB: cdc-wdm: properly include types.h
    
    commit 7ac3764fcafc06e72e1a79a9d998b9fdd900b2a6 upstream.
    
    The file include/uapi/linux/usb/cdc-wdm.h uses a __u16 so it needs to
    include types.h as well to make the build system happy.
    
    Fixes: 3edce1cf813a ("USB: cdc-wdm: implement IOCTL_WDM_MAX_COMMAND")
    Cc: Bjørn Mork <bjorn@mork.no>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f814958eaf5742610e4476aafc6b84ffe8a4be5d
Author: Bjørn Mork <bjorn@mork.no>
Date:   Sat May 10 16:31:40 2014 +0200

    usb: cdc-wdm: export cdc-wdm uapi header
    
    commit 7d1896360f4d055d68565ef8ed56a677580f1a39 upstream.
    
    The include/uapi/linux/usb/cdc-wdm.h header defines cdc-wdm
    userspace APIs and should be exported by make headers_install.
    
    Fixes: 3edce1cf813a ("USB: cdc-wdm: implement IOCTL_WDM_MAX_COMMAND")
    Signed-off-by: Bjørn Mork <bjorn@mork.no>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8afaf08f4714859c1d49467df7ca0dd99e882d7c
Author: George McCollister <george.mccollister@gmail.com>
Date:   Sat Apr 26 12:04:47 2014 +0200

    USB: ftdi_sio: add NovaTech OrionLXm product ID
    
    commit d0839d757e6294921c31b1c4ca4f1dcc5df63bcd upstream.
    
    The NovaTech OrionLXm uses an onboard FTDI serial converter for JTAG and
    console access.
    
    Here is the lsusb output:
    Bus 004 Device 123: ID 0403:7c90 Future Technology Devices
    International, Ltd
    
    Signed-off-by: George McCollister <george.mccollister@gmail.com>
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8f36b99f00b9cce6ce37692421d678113a69d53e
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Jun 2 15:16:07 2014 +0200

    ALSA: hda/realtek - Fix COEF widget NID for ALC260 replacer fixup
    
    commit 192a98e280e560510a62aca8cfa83b4ae7c095bb upstream.
    
    The conversion to a fixup table for Replacer model with ALC260 in
    commit 20f7d928 took the wrong widget NID for COEF setups.  Namely,
    NID 0x1a should have been used instead of NID 0x20, which is the
    common node for all Realtek codecs but ALC260.
    
    Fixes: 20f7d928fa6e ('ALSA: hda/realtek - Replace ALC260 model=replacer with the auto-parser')
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a7d8c53384e4584bb1d3702a961c6bdcef86d6ce
Author: Ronan Marquet <ronan.marquet@orange.fr>
Date:   Sun Jun 1 18:38:53 2014 +0200

    ALSA: hda/realtek - Correction of fixup codes for PB V7900 laptop
    
    commit e30cf2d2bed3aed74a651c64de323ba26e4ff7d0 upstream.
    
    Correcion of wrong fixup entries add in commit ca8f0424 to replace
    static model quirk for PB V7900 laptop (will model).
    
    [note: the removal of ALC260_FIXUP_HP_PIN_0F chain is also needed as a
     part of the fix; otherwise the pin is set up wrongly as a headphone,
     and user-space (PulseAudio) may be wrongly trying to detect the jack
     state -- tiwai]
    
    Fixes: ca8f04247eaa ('ALSA: hda/realtek - Add the fixup codes for ALC260 model=will')
    Signed-off-by: Ronan Marquet <ronan.marquet@orange.fr>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e7a19dd9c425eca3ae8f4cbf03c16fe3acfa5902
Author: Takashi Iwai <tiwai@suse.de>
Date:   Fri May 23 09:21:06 2014 +0200

    ALSA: hda/analog - Fix silent output on ASUS A8JN
    
    commit 598e306184d26fa1d546334f2eb370b4d94a4ad3 upstream.
    
    ASUS A8JN with AD1986A codec seems following the normal EAPD in the
    normal order (0 = off, 1 = on) unlike other machines with AD1986A.
    Apply the workaround used for Toshiba laptop that showed the same
    problem.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=75041
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 777b5819a2994320f98ee377b6196b1660e12bb6
Author: Samuel Ortiz <sameo@linux.intel.com>
Date:   Wed May 14 17:53:35 2014 +0200

    Bluetooth: Fix L2CAP LE debugfs entries permissions
    
    commit 40b9397a1a61a37917b93e7d57e6f2faf3a086b4 upstream.
    
    0466 was probably meant to be 0644, there's no reason why everyone
    except root could write there.
    
    Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 055127d4ab97873286fbcac5f83196aeb6edf1bb
Author: Sean MacLennan <seanm@seanm.ca>
Date:   Wed May 28 11:19:00 2014 -0400

    staging: r8192e_pci: fix htons error
    
    commit 9326c5ca0982f548cc08c0cffb14dcbd020f3d43 upstream.
    
    A sparse error fixup removed a htons() which is required for the driver
    to function. This patch puts the htons() back and fixes the sparse
    warning correctly by changing the left side cast.
    
    Signed-off-by: Sean MacLennan <seanm@seanm.ca>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ba39de398ec2468960744c4507100562a5aaef72
Author: Ben Hutchings <ben@decadent.org.uk>
Date:   Mon May 19 01:03:06 2014 +0100

    Staging: speakup: Update __speakup_paste_selection() tty (ab)usage to match vt
    
    commit 28a821c306889b9f2c3fff49abedc9b2c743eb73 upstream.
    
    This function is largely a duplicate of paste_selection() in
    drivers/tty/vt/selection.c, but with its own selection state.  The
    speakup selection mechanism should really be merged with vt.
    
    For now, apply the changes from 'TTY: vt, fix paste_selection ldisc
    handling', 'tty: Make ldisc input flow control concurrency-friendly',
    and 'tty: Fix unsafe vt paste_selection()'.
    
    References: https://bugs.debian.org/735202
    References: https://bugs.debian.org/744015
    Reported-by: Paul Gevers <elbrus@debian.org>
    Reported-and-tested-by: Jarek Czekalski <jarekczek@poczta.onet.pl>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0cd6fa616912431665fb9d30bb96a1247b9c6304
Author: Ian Abbott <abbotti@mev.co.uk>
Date:   Mon May 19 11:29:04 2014 +0100

    staging: comedi: ni_daq_700: add mux settling delay
    
    commit ffed54dced86723f352323f15789d9ad6bee25e1 upstream.
    
    I got a patch from the original author, Fred Brooks, to add a small
    settling delay after setting the AI channel multiplexor.  The lack of
    delay resulted in unstable or scrambled data on faster processors.
    
    Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
    Reported-by: Fred Brooks <nsaspook@nsaspook.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3bf5072cf916c0da7f789063c5bcc455b89ee929
Author: Ben Hutchings <ben@decadent.org.uk>
Date:   Mon May 19 00:56:22 2014 +0100

    Staging: speakup: Move pasting into a work item
    
    commit d7500135802ca55b3f4e01a16544e8b34082f8c3 upstream.
    
    Input is handled in softirq context, but when pasting we may
    need to sleep.  speakup_paste_selection() currently tries to
    bodge this by busy-waiting if in_atomic(), but that doesn't
    help because the ldisc may also sleep.
    
    For bonus breakage, speakup_paste_selection() changes the
    state of current, even though it's not running in process
    context.
    
    Move it into a work item and make sure to cancel it on exit.
    
    References: https://bugs.debian.org/735202
    References: https://bugs.debian.org/744015
    Reported-by: Paul Gevers <elbrus@debian.org>
    Reported-and-tested-by: Jarek Czekalski <jarekczek@poczta.onet.pl>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 02dc93d422c777a2d733da5cd2a80f4d0e429ede
Author: Mathias Nyman <mathias.nyman@linux.intel.com>
Date:   Wed May 28 23:51:13 2014 +0300

    xhci: delete endpoints from bandwidth list before freeing whole device
    
    commit 5dc2808c4729bf080487e61b80ee04e0fdb12a37 upstream.
    
    Lists of endpoints are stored for bandwidth calculation for roothub ports.
    Make sure we remove all endpoints from the list before the whole device,
    containing its endpoints list_head stuctures, is freed.
    
    This used to be done in the wrong order in xhci_mem_cleanup(),
    and triggered an oops in resume from S4 (hibernate).
    
    Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7fdcfd722168660cb25edf919132cccd6349cbac
Author: NeilBrown <neilb@suse.de>
Date:   Thu May 29 11:40:03 2014 +1000

    md: always set MD_RECOVERY_INTR when interrupting a reshape thread.
    
    commit 2ac295a544dcae9299cba13ce250419117ae7fd1 upstream.
    
    Commit 8313b8e57f55b15e5b7f7fc5d1630bbf686a9a97
       md: fix problem when adding device to read-only array with bitmap.
    
    added a called to md_reap_sync_thread() which cause a reshape thread
    to be interrupted (in particular, it could cause md_thread() to never even
    call md_do_sync()).
    However it didn't set MD_RECOVERY_INTR so ->finish_reshape() would not
    know that the reshape didn't complete.
    
    This only happens when mddev->ro is set and normally reshape threads
    don't run in that situation.  But raid5 and raid10 can start a reshape
    thread during "run" is the array is in the middle of a reshape.
    They do this even if ->ro is set.
    
    So it is best to set MD_RECOVERY_INTR before abortingg the
    sync thread, just in case.
    
    Though it rare for this to trigger a problem it can cause data corruption
    because the reshape isn't finished properly.
    So it is suitable for any stable which the offending commit was applied to.
    (3.2 or later)
    
    Fixes: 8313b8e57f55b15e5b7f7fc5d1630bbf686a9a97
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 37ff7f23290533a1441c1c025ff954032dff6e3d
Author: NeilBrown <neilb@suse.de>
Date:   Wed May 28 13:39:23 2014 +1000

    md: always set MD_RECOVERY_INTR when aborting a reshape or other "resync".
    
    commit 3991b31ea072b070081ca3bfa860a077eda67de5 upstream.
    
    If mddev->ro is set, md_to_sync will (correctly) abort.
    However in that case MD_RECOVERY_INTR isn't set.
    
    If a RESHAPE had been requested, then ->finish_reshape() will be
    called and it will think the reshape was successful even though
    nothing happened.
    
    Normally a resync will not be requested if ->ro is set, but if an
    array is stopped while a reshape is on-going, then when the array is
    started, the reshape will be restarted.  If the array is also set
    read-only at this point, the reshape will instantly appear to success,
    resulting in data corruption.
    
    Consequently, this patch is suitable for any -stable kernel.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ccada0157f0909010e6684fe8fedb81d3a4351ee
Author: Richard Weinberger <richard@nod.at>
Date:   Mon Jun 2 22:38:34 2014 +0200

    sched: Fix sched_policy < 0 comparison
    
    commit b14ed2c273f8ab872ae4e6735fe5ab09cb14b8c3 upstream.
    
    attr.sched_policy is u32, therefore a comparison against < 0 is never true.
    Fix this by casting sched_policy to int.
    
    This issue was reported by coverity CID 1219934.
    
    Fixes: dbdb22754fde ("sched: Disallow sched_attr::sched_policy < 0")
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Cc: Michael Kerrisk <mtk.manpages@gmail.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/1401741514-7045-1-git-send-email-richard@nod.at
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Cc: Dave Jones <davej@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8bc1ceb32e502e277bc70e2774958c76c4b9bcfb
Author: Martin K. Petersen <martin.petersen@oracle.com>
Date:   Mon Jun 2 19:57:16 2014 -0400

    libata: Blacklist queued trim for Crucial M500
    
    commit 3b8d2676d15d6b2326757adb66b70a9cd6650373 upstream.
    
    Queued trim only works for some users with MU05 firmware.  Revert to
    blacklisting all firmware versions.
    
    Introduced by commit d121f7d0cbb8 ("libata: Update queued trim blacklist
    for M5x0 drives") which this effectively reverts, while retaining the
    blacklisting of M550.
    
    See
    
        https://bugzilla.kernel.org/show_bug.cgi?id=71371
    
    for reports of trouble with MU05 firmware.
    
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Cc: Tejun Heo <tj@kernel.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9d59f196d7698a60dcedbefb92a4ec010b97e51d
Author: Christian König <christian.koenig@amd.com>
Date:   Fri May 30 17:52:27 2014 +0200

    drm/radeon: use the CP DMA on CIK
    
    commit 91b0275c0ecd1870c5f8bfb73e2da2d6c29414b3 upstream.
    
    The SDMA sometimes doesn't seem to work reliable.
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ac05245237fe0c08dc5e439d4be9a607138feec3
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Fri May 30 12:40:15 2014 -0400

    drm/radeon/dpm: resume fixes for some systems
    
    commit 3640da2faa952a2e9439a254c1ce76033ca0a6dc upstream.
    
    Setting the power state prior to restoring the display
    hardware leads to blank screens on some systems.  Drop
    the power state set from dpm resume.  The power state
    will get set as part of the mode set sequence.  Also
    add an explicit power state set after mode set resume
    to cover PX and headless systems.
    
    bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=76761
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2e1c3e0ed86496dfebb4ea5af52673518dc553c1
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 23 10:45:52 2014 +0100

    drm/i915: Only copy back the modified fields to userspace from execbuffer
    
    commit 9aab8bff7aa3bee567213ad3c1fdfb217bb980a2 upstream.
    
    We only want to modifiy a single field in the userspace view of the
    execbuffer command buffer, so explicitly change that rather than copy
    everything back again.
    
    This serves two purposes:
    
    1. The single fields are much cheaper to copy (constant size so the
    copy uses special case code) and much smaller than the whole array.
    
    2. We modify the array for internal use that need to be masked from
    the user.
    
    Note: We need this backported since without it the next bugfix will
    blow up when userspace recycles batchbuffers and relocations.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3f7134a93ee1298e2430889b77898786c0cc31eb
Author: Christian König <christian.koenig@amd.com>
Date:   Wed May 21 17:43:59 2014 +0200

    drm/radeon: avoid crash if VM command submission isn't available
    
    commit 60a445405a1731bac2279eab354173c9c3156747 upstream.
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8ac38a5e6c72bb5ad1607304a909332d2f460937
Author: Kirill Tkhai <tkhai@yandex.ru>
Date:   Tue May 20 13:33:42 2014 +0400

    sched/dl: Fix race in dl_task_timer()
    
    commit 0f397f2c90ce68821ee864c2c53baafe78de765d upstream.
    
    Throttled task is still on rq, and it may be moved to other cpu
    if user is playing with sched_setaffinity(). Therefore, unlocked
    task_rq() access makes the race.
    
    Juri Lelli reports he got this race when dl_bandwidth_enabled()
    was not set.
    
    Other thing, pointed by Peter Zijlstra:
    
       "Now I suppose the problem can still actually happen when
        you change the root domain and trigger a effective affinity
        change that way".
    
    To fix that we do the same as made in __task_rq_lock(). We do not
    use __task_rq_lock() itself, because it has a useful lockdep check,
    which is not correct in case of dl_task_timer(). We do not need
    pi_lock locked here. This case is an exception (PeterZ):
    
       "The only reason we don't strictly need ->pi_lock now is because
        we're guaranteed to have p->state == TASK_RUNNING here and are
        thus free of ttwu races".
    
    Signed-off-by: Kirill Tkhai <tkhai@yandex.ru>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/3056991400578422@web14g.yandex.ru
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1380335fc4c60decaee63e6c462267b0e134bd15
Author: Lai Jiangshan <laijs@cn.fujitsu.com>
Date:   Fri May 16 11:50:42 2014 +0800

    sched: Fix hotplug vs. set_cpus_allowed_ptr()
    
    commit 6acbfb96976fc3350e30d964acb1dbbdf876d55e upstream.
    
    Lai found that:
    
      WARNING: CPU: 1 PID: 13 at arch/x86/kernel/smp.c:124 native_smp_send_reschedule+0x2d/0x4b()
      ...
      migration_cpu_stop+0x1d/0x22
    
    was caused by set_cpus_allowed_ptr() assuming that cpu_active_mask is
    always a sub-set of cpu_online_mask.
    
    This isn't true since 5fbd036b552f ("sched: Cleanup cpu_active madness").
    
    So set active and online at the same time to avoid this particular
    problem.
    
    Fixes: 5fbd036b552f ("sched: Cleanup cpu_active madness")
    Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Michael wang <wangyun@linux.vnet.ibm.com>
    Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
    Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
    Cc: Toshi Kani <toshi.kani@hp.com>
    Link: http://lkml.kernel.org/r/53758B12.8060609@cn.fujitsu.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a30d14d4a4d484d5668d11ad148c661dc66a100b
Author: Juri Lelli <juri.lelli@gmail.com>
Date:   Tue May 13 14:11:31 2014 +0200

    sched/deadline: Restrict user params max value to 2^63 ns
    
    commit b0827819b0da4acfbc1df1e05edcf50efd07cbd1 upstream.
    
    Michael Kerrisk noticed that creating SCHED_DEADLINE reservations
    with certain parameters (e.g, a runtime of something near 2^64 ns)
    can cause a system freeze for some amount of time.
    
    The problem is that in the interface we have
    
     u64 sched_runtime;
    
    while internally we need to have a signed runtime (to cope with
    budget overruns)
    
     s64 runtime;
    
    At the time we setup a new dl_entity we copy the first value in
    the second. The cast turns out with negative values when
    sched_runtime is too big, and this causes the scheduler to go crazy
    right from the start.
    
    Moreover, considering how we deal with deadlines wraparound
    
     (s64)(a - b) < 0
    
    we also have to restrict acceptable values for sched_{deadline,period}.
    
    This patch fixes the thing checking that user parameters are always
    below 2^63 ns (still large enough for everyone).
    
    It also rewrites other conditions that we check, since in
    __checkparam_dl we don't have to deal with deadline wraparounds
    and what we have now erroneously fails when the difference between
    values is too big.
    
    Reported-by: Michael Kerrisk <mtk.manpages@gmail.com>
    Suggested-by: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: Juri Lelli <juri.lelli@gmail.com>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Cc: Dario Faggioli<raistlin@linux.it>
    Cc: Dave Jones <davej@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/20140513141131.20d944f81633ee937f256385@gmail.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ccb9d3e85cf380ada0695bb07d39cda88099d6a2
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Mon May 12 22:50:34 2014 +0200

    sched/deadline: Change sched_getparam() behaviour vs SCHED_DEADLINE
    
    commit ce5f7f8200ca2504f6f290044393d73ca314965a upstream.
    
    The way we read POSIX one should only call sched_getparam() when
    sched_getscheduler() returns either SCHED_FIFO or SCHED_RR.
    
    Given that we currently return sched_param::sched_priority=0 for all
    others, extend the same behaviour to SCHED_DEADLINE.
    
    Requested-by: Michael Kerrisk <mtk.manpages@gmail.com>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Acked-by: Michael Kerrisk <mtk.manpages@gmail.com>
    Cc: Dario Faggioli <raistlin@linux.it>
    Cc: linux-man <linux-man@vger.kernel.org>
    Cc: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
    Cc: Juri Lelli <juri.lelli@gmail.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/20140512205034.GH13467@laptop.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 49123dda5f51ebb79ec4359b5244a21cf122844b
Author: Michael Kerrisk <mtk.manpages@gmail.com>
Date:   Fri May 9 16:54:15 2014 +0200

    sched: Make sched_setattr() correctly return -EFBIG
    
    commit 143cf23df25b7082cd706c3c53188e741e7881c3 upstream.
    
    The documented[1] behavior of sched_attr() in the proposed man page text is:
    
        sched_attr::size must be set to the size of the structure, as in
        sizeof(struct sched_attr), if the provided structure is smaller
        than the kernel structure, any additional fields are assumed
        '0'. If the provided structure is larger than the kernel structure,
        the kernel verifies all additional fields are '0' if not the
        syscall will fail with -E2BIG.
    
    As currently implemented, sched_copy_attr() returns -EFBIG for
    for this case, but the logic in sys_sched_setattr() converts that
    error to -EFAULT. This patch fixes the behavior.
    
    [1] http://thread.gmane.org/gmane.linux.kernel/1615615/focus=1697760
    
    Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/536CEC17.9070903@gmail.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5c246e46261532ccac530536336143171ce2d641
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Fri May 9 10:49:03 2014 +0200

    sched: Disallow sched_attr::sched_policy < 0
    
    commit dbdb22754fde671dc93d2fae06f8be113d47f2fb upstream.
    
    The scheduler uses policy=-1 to preserve the current policy state to
    implement sys_sched_setparam(), this got exposed to userspace by
    accident through sys_sched_setattr(), cure this.
    
    Reported-by: Michael Kerrisk <mtk.manpages@gmail.com>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Acked-by: Michael Kerrisk <mtk.manpages@gmail.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/20140509085311.GJ30445@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f6f465b98ae033f1f57179e2c4649b7d29d5af8e
Author: Ming Lei <tom.leiming@gmail.com>
Date:   Fri May 16 23:31:21 2014 +0800

    virtio_blk: fix race between start and stop queue
    
    commit aa0818c6ee8d8e4772725a43550823347bc1ad30 upstream.
    
    When there isn't enough vring descriptor for adding to vq,
    blk-mq will be put as stopped state until some of pending
    descriptors are completed & freed.
    
    Unfortunately, the vq's interrupt may come just before
    blk-mq's BLK_MQ_S_STOPPED flag is set, so the blk-mq will
    still be kept as stopped even though lots of descriptors
    are completed and freed in the interrupt handler. The worst
    case is that all pending descriptors are freed in the
    interrupt handler, and the queue is kept as stopped forever.
    
    This patch fixes the problem by starting/stopping blk-mq
    with holding vq_lock.
    
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Ming Lei <tom.leiming@gmail.com>
    Signed-off-by: Jens Axboe <axboe@fb.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9f28735b1bb7727e7495cf76e88e63ad8953ba65
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Sat Jun 7 19:11:23 2014 -0700

    Revert "revert "mm: vmscan: do not swap anon pages just because free+file is low""
    
    This reverts commit 623762517e2370be3b3f95f4fe08d6c063a49b06.
    
    Ben rightly points out that commit 0bf1457f0cfc, which is what this
    original commit was reverting, never ended up in 3.14-stable, but was
    only for 3.15.
    
    So revert this patch as we now have the same check twice in a row, which
    is pretty pointless.  Although the comments were "prettier"...
    
    Cc: Ben Hutchings <ben@decadent.org.uk>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Christian Borntraeger <borntraeger@de.ibm.com>
    Cc: Christian Borntraeger <borntraeger@de.ibm.com>
    Cc: Rafael Aquini <aquini@redhat.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 04937d94156d63d7f6249416b82ac810f0218219
Author: Heinz Mauelshagen <heinzm@redhat.com>
Date:   Fri May 23 14:10:01 2014 -0400

    dm cache: always split discards on cache block boundaries
    
    commit f1daa838e861ae1a0fb7cd9721a21258430fcc8c upstream.
    
    The DM cache target cannot cope with discards that span multiple cache
    blocks, so each discard bio that spans more than one cache block must
    get split by the DM core.
    
    Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com>
    Acked-by: Joe Thornber <ejt@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2936b8269a855dde813ab8488e74f738d905a433
Author: Mike Snitzer <snitzer@redhat.com>
Date:   Tue May 20 13:38:33 2014 -0400

    dm thin: add 'no_space_timeout' dm-thin-pool module param
    
    commit 80c578930ce77ba8bcfb226a184b482020bdda7b upstream.
    
    Commit 85ad643b ("dm thin: add timeout to stop out-of-data-space mode
    holding IO forever") introduced a fixed 60 second timeout.  Users may
    want to either disable or modify this timeout.
    
    Allow the out-of-data-space timeout to be configured using the
    'no_space_timeout' dm-thin-pool module param.  Setting it to 0 will
    disable the timeout, resulting in IO being queued until more data space
    is added to the thin-pool.
    
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f435c42d8c7e2b61805615380b0f8710b52620ae
Author: Markos Chandras <markos.chandras@imgtec.com>
Date:   Wed May 21 12:35:00 2014 +0100

    MIPS: Fix typo when reporting cache and ftlb errors for ImgTec cores
    
    commit 721a9205396c4ef2a811dd665ec2a232163b583d upstream.
    
    Introduced by the following two commits:
    75b5b5e0a262790fa11043fe45700499c7e3d818
    "MIPS: Add support for FTLBs"
    6de20451857ed14a4eecc28d08f6de5925d1cf96
    "MIPS: Add printing of ES bit for Imgtec cores when cache error occurs"
    
    Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
    Reported-by: Matheus Almeida <Matheus.Almeida@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: Markos Chandras <markos.chandras@imgtec.com>
    Patchwork: https://patchwork.linux-mips.org/patch/6980/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0ff65d6651a2d3450f437cfbc81fc62688c9f7fc
Author: Stefan Richter <stefanr@s5r6.in-berlin.de>
Date:   Thu May 29 15:23:26 2014 +0200

    firewire: revert to 4 GB RDMA, fix protocols using Memory Space
    
    commit 2fe2023adf695d08af5b598b2be3b288a95d563c upstream.
    
    Undo a feature introduced in v3.14 by commit fcd46b34425d
    "firewire: Enable remote DMA above 4 GB".  That change raised the
    minimum address at which protocol drivers and user programs can register
    for request reception from 0x0001'0000'0000 to 0x8000'0000'0000.
    It turned out that at least one vendor-specific protocol exists which
    uses lower addresses:  https://bugzilla.kernel.org/show_bug.cgi?id=76921
    
    For the time being, revert most of commit fcd46b34425d so that affected
    protocols work like with kernel v3.13 and before.  Just keep the valid
    documentation parts from the regressing commit, and the ability to
    identify controllers which could be programmed to accept >32 bit
    physical DMA addresses.  The rest of fcd46b34425d should probably be
    brought back as an optional instead of default feature.
    
    Reported-by: Fabien Spindler <fabien.spindler@inria.fr>
    Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 89571e8509f62d950715faca2251eb2273b530a0
Author: Bibek Basu <bbasu@nvidia.com>
Date:   Mon May 19 10:24:01 2014 +0530

    cpufreq: remove race while accessing cur_policy
    
    commit c5450db85b828d0c46ac8fc570fb8a51bf07ac40 upstream.
    
    While accessing cur_policy during executing events
    CPUFREQ_GOV_START, CPUFREQ_GOV_STOP, CPUFREQ_GOV_LIMITS,
    same mutex lock is not taken, dbs_data->mutex, which leads
    to race and data corruption while running continious suspend
    resume test. This is seen with ondemand governor with suspend
    resume test using rtcwake.
    
     Unable to handle kernel NULL pointer dereference at virtual address 00000028
     pgd = ed610000
     [00000028] *pgd=adf11831, *pte=00000000, *ppte=00000000
     Internal error: Oops: 17 [#1] PREEMPT SMP ARM
     Modules linked in: nvhost_vi
     CPU: 1 PID: 3243 Comm: rtcwake Not tainted 3.10.24-gf5cf9e5 #1
     task: ee708040 ti: ed61c000 task.ti: ed61c000
     PC is at cpufreq_governor_dbs+0x400/0x634
     LR is at cpufreq_governor_dbs+0x3f8/0x634
     pc : [<c05652b8>] lr : [<c05652b0>] psr: 600f0013
     sp : ed61dcb0 ip : 000493e0 fp : c1cc14f0
     r10: 00000000 r9 : 00000000 r8 : 00000000
     r7 : eb725280 r6 : c1cc1560 r5 : eb575200 r4 : ebad7740
     r3 : ee708040 r2 : ed61dca8 r1 : 001ebd24 r0 : 00000000
     Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
     Control: 10c5387d Table: ad61006a DAC: 00000015
     [<c05652b8>] (cpufreq_governor_dbs+0x400/0x634) from [<c055f700>] (__cpufreq_governor+0x98/0x1b4)
     [<c055f700>] (__cpufreq_governor+0x98/0x1b4) from [<c0560770>] (__cpufreq_set_policy+0x250/0x320)
     [<c0560770>] (__cpufreq_set_policy+0x250/0x320) from [<c0561dcc>] (cpufreq_update_policy+0xcc/0x168)
     [<c0561dcc>] (cpufreq_update_policy+0xcc/0x168) from [<c0561ed0>] (cpu_freq_notify+0x68/0xdc)
     [<c0561ed0>] (cpu_freq_notify+0x68/0xdc) from [<c008eff8>] (notifier_call_chain+0x4c/0x8c)
     [<c008eff8>] (notifier_call_chain+0x4c/0x8c) from [<c008f3d4>] (__blocking_notifier_call_chain+0x50/0x68)
     [<c008f3d4>] (__blocking_notifier_call_chain+0x50/0x68) from [<c008f40c>] (blocking_notifier_call_chain+0x20/0x28)
     [<c008f40c>] (blocking_notifier_call_chain+0x20/0x28) from [<c00aac6c>] (pm_qos_update_bounded_target+0xd8/0x310)
     [<c00aac6c>] (pm_qos_update_bounded_target+0xd8/0x310) from [<c00ab3b0>] (__pm_qos_update_request+0x64/0x70)
     [<c00ab3b0>] (__pm_qos_update_request+0x64/0x70) from [<c004b4b8>] (tegra_pm_notify+0x114/0x134)
     [<c004b4b8>] (tegra_pm_notify+0x114/0x134) from [<c008eff8>] (notifier_call_chain+0x4c/0x8c)
     [<c008eff8>] (notifier_call_chain+0x4c/0x8c) from [<c008f3d4>] (__blocking_notifier_call_chain+0x50/0x68)
     [<c008f3d4>] (__blocking_notifier_call_chain+0x50/0x68) from [<c008f40c>] (blocking_notifier_call_chain+0x20/0x28)
     [<c008f40c>] (blocking_notifier_call_chain+0x20/0x28) from [<c00ac228>] (pm_notifier_call_chain+0x1c/0x34)
     [<c00ac228>] (pm_notifier_call_chain+0x1c/0x34) from [<c00ad38c>] (enter_state+0xec/0x128)
     [<c00ad38c>] (enter_state+0xec/0x128) from [<c00ad400>] (pm_suspend+0x38/0xa4)
     [<c00ad400>] (pm_suspend+0x38/0xa4) from [<c00ac114>] (state_store+0x70/0xc0)
     [<c00ac114>] (state_store+0x70/0xc0) from [<c027b1e8>] (kobj_attr_store+0x14/0x20)
     [<c027b1e8>] (kobj_attr_store+0x14/0x20) from [<c019cd9c>] (sysfs_write_file+0x104/0x184)
     [<c019cd9c>] (sysfs_write_file+0x104/0x184) from [<c0143038>] (vfs_write+0xd0/0x19c)
     [<c0143038>] (vfs_write+0xd0/0x19c) from [<c0143414>] (SyS_write+0x4c/0x78)
     [<c0143414>] (SyS_write+0x4c/0x78) from [<c000f080>] (ret_fast_syscall+0x0/0x30)
     Code: e1a00006 eb084346 e59b0020 e5951024 (e5903028)
     ---[ end trace 0488523c8f6b0f9d ]---
    
    Signed-off-by: Bibek Basu <bbasu@nvidia.com>
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 834a64fa1283c0d48a1ca76bd45eae527ad9ea2c
Author: Lucas Stach <l.stach@pengutronix.de>
Date:   Fri May 16 12:20:42 2014 +0200

    cpufreq: cpu0: drop wrong devm usage
    
    commit e3beb0ac521d50d158a9d253373eae8421ac3998 upstream.
    
    This driver is using devres managed calls incorrectly, giving the cpu0
    device as first parameter instead of the cpufreq platform device.
    This results in resources not being freed if the cpufreq platform device
    is unbound, for example if probing has to be deferred for a missing
    regulator.
    
    Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 664226187b617d64284db9e8d14f5860c6563a24
Author: Rabin Vincent <rabin@rab.in>
Date:   Sat May 24 17:38:01 2014 +0100

    ARM: 8064/1: fix v7-M signal return
    
    commit 483a6c9d447f625b991fa04a1530493d893984db upstream.
    
    According to the ARM ARM, the behaviour is UNPREDICTABLE if the PC read
    from the exception return stack is not half word aligned.  See the
    pseudo code for ExceptionReturn() and PopStack().
    
    The signal handler's address has the bit 0 set, and setup_return()
    directly writes this to regs->ARM_pc.  Current hardware happens to
    discard this bit, but QEMU's emulation doesn't and this makes processes
    crash.  Mask out bit 0 before the exception return in order to get
    predictable behaviour.
    
    Fixes: 19c4d593f0b4 ("ARM: ARMv7-M: Add support for exception handling")
    
    Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Rabin Vincent <rabin@rab.in>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8d8d73b3e5af5849c64cfc85d55a9d5eadde9049
Author: Andrey Ryabinin <a.ryabinin@samsung.com>
Date:   Wed May 7 08:07:25 2014 +0100

    ARM: 8051/1: put_user: fix possible data corruption in put_user
    
    commit 537094b64b229bf3ad146042f83e74cf6abe59df upstream.
    
    According to arm procedure call standart r2 register is call-cloberred.
    So after the result of x expression was put into r2 any following
    function call in p may overwrite r2. To fix this, the result of p
    expression must be saved to the temporary variable before the
    assigment x expression to __r2.
    
    Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>
    Reviewed-by: Nicolas Pitre <nico@linaro.org>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2a279573c2d33d9a2f7d88f0ae2d9f3f4370ddd6
Author: Santosh Shilimkar <santosh.shilimkar@ti.com>
Date:   Mon May 12 17:37:59 2014 -0400

    ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled
    
    commit 4b353a706a86598ba47307c47301c3c428b79e09 upstream.
    
    On OMAP4 panda board, there have been several bug reports about boot
    hang and lock-ups with CPU_IDLE enabled. The root cause of the issue
    is missing interrupts while in idle state. Commit cb7094e8 {cpuidle / omap4 :
    use CPUIDLE_FLAG_TIMER_STOP flag} moved the broadcast notifiers to common
    code for right reasons but on OMAP4 which suffers from a nasty ROM code
    bug with GIC, commit ff999b8a {ARM: OMAP4460: Workaround for ROM bug ..},
    we loose interrupts which leads to issues like lock-up, hangs etc.
    
    Patch reverts commit cb7094 {cpuidle / omap4 : use CPUIDLE_FLAG_TIMER_STOP
    flag} and 54769d6 {cpuidle: OMAP4: remove timer broadcast initialization} to
    avoid the issue. With this change, OMAP4 panda boards, the mentioned
    issues are getting fixed. We no longer loose interrupts which was the cause
    of the regression.
    
    Fixes: cb7094e8 (cpuidle / omap4 : use CPUIDLE_FLAG_TIMER_STOP flag)
    Fixes: ff999b8a (cpuidle: OMAP4: remove timer broadcast initialization)
    Cc: Roger Quadros <rogerq@ti.com>
    Cc: Kevin Hilman <khilman@linaro.org>
    Cc: Tony Lindgren <tony@atomide.com>
    Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
    Reported-tested-by: Roger Quadros <rogerq@ti.com>
    Reported-tested-by: Kevin Hilman <khilman@linaro.org>
    Tested-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8ba98cb137a1c5bac64dd20fe0fe40abd6595345
Author: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Date:   Mon Apr 21 15:06:23 2014 +0200

    ARM: OMAP3: clock: Back-propagate rate change from cam_mclk to dpll4_m5 on all OMAP3 platforms
    
    commit 98d7e1aee6dd534f468993f8c6a1bc730d4cfa81 upstream.
    
    Commit 7b2e1277598e4187c9be3e61fd9b0f0423f97986 ("ARM: OMAP3: clock:
    Back-propagate rate change from cam_mclk to dpll4_m5") enabled clock
    rate back-propagation from cam_mclk do dpll4_m5 on OMAP3630 only.
    Perform back-propagation on other OMAP3 platforms as well.
    
    Reported-by: Jean-Philippe François <jp.francois@cynove.com>
    Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: Paul Walmsley <paul@pwsan.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 01b1c9345a0396e5252bd74b467cf422dce46bf6
Author: Roger Quadros <rogerq@ti.com>
Date:   Fri May 16 14:45:40 2014 -0700

    ARM: OMAP2+: nand: Fix NAND on OMAP2 and OMAP3 boards
    
    commit 5005e0b76781c37d0a16dd6dd17d015098e8ce92 upstream.
    
    Commit c66d039197e4 broke NAND for non-DT boot on all OMAP2 and OMAP3
    boards using board_nand_init(). Following error is seen at boot
    
    [    0.154998]  (null): Unsupported NAND ECC scheme selected
    
    For OMAP2 and OMAP3 platforms, the ecc_opt parameter in platform data
    must be set to OMAP_ECC_HAM1_CODE_HW to work properly.
    
    Tested on omap3-beagle c4.
    
    Fixes: c66d039197e4 (mtd: nand: omap: combine different flavours of 1-bit hamming ecc schemes)
    Signed-off-by: Roger Quadros <rogerq@ti.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0871ef9ca878cefbee1716e369727c8a2d35548c
Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
Date:   Fri May 9 11:10:05 2014 +0300

    ARM: omap5: hwmod_data: Correct IDLEMODE for McPDM
    
    commit 0f9e19ad88eee820f517b85531b555a0fa73e7e4 upstream.
    
    McPDM need to be configured to NO_IDLE mode when it is in used otherwise
    vital clocks will be gated which results 'slow motion' audio playback.
    
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Signed-off-by: Paul Walmsley <paul@pwsan.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a639e247c86898fdd38d08b463e171e77c894fd4
Author: Emil Goode <emilgoode@gmail.com>
Date:   Mon May 19 15:07:54 2014 +0800

    ARM: imx: fix error handling in ipu device registration
    
    commit d1d70e5dc2cfa9047bb935c41ba808ebb8135696 upstream.
    
    If we fail to allocate struct platform_device pdev we
    dereference it after the goto label err.
    
    This bug was found using coccinelle.
    
    Fixes: afa77ef (ARM: mx3: dynamically allocate "ipu-core" devices)
    Signed-off-by: Emil Goode <emilgoode@gmail.com>
    Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
    Signed-off-by: Olof Johansson <olof@lixom.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1530eb587a3a426e1351da4f6012d2be21b536b7
Author: Joe Lawrence <joe.lawrence@stratus.com>
Date:   Thu May 22 17:30:54 2014 -0400

    SCSI: scsi_transport_sas: move bsg destructor into sas_rphy_remove
    
    commit 6aa6caff30f5dcb9e55b03b9710c30b83750cae5 upstream.
    
    The recent change in sysfs, bcdde7e221a8750f9b62b6d0bd31b72ea4ad9309
    "sysfs: make __sysfs_remove_dir() recursive" revealed an asymmetric
    rphy device creation/deletion sequence in scsi_transport_sas:
    
      modprobe mpt2sas
        sas_rphy_add
          device_add A               rphy->dev
          device_add B               sas_device transport class
          device_add C               sas_end_device transport class
          device_add D               bsg class
    
      rmmod mpt2sas
        sas_rphy_delete
          sas_rphy_remove
            device_del B
            device_del C
            device_del A
              sysfs_remove_group     recursive sysfs dir removal
          sas_rphy_free
            device_del D             warning
    
      where device A is the parent of B, C, and D.
    
    When sas_rphy_free tries to unregister the bsg request queue (device D
    above), the ensuing sysfs cleanup discovers that its sysfs group has
    already been removed and emits a warning, "sysfs group... not found for
    kobject 'end_device-X:0'".
    
    Since bsg creation is a side effect of sas_rphy_add, move its
    complementary removal call into sas_rphy_remove. This imposes the
    following tear-down order for the devices above: D, B, C, A.
    
    Note the sas_device and sas_end_device transport class devices (B and C
    above) are created and destroyed both via the list match traversal in
    attribute_container_device_trigger, so the order in which they are
    handled is fixed. This is fine as long as they are deleted before their
    parent device.
    
    Signed-off-by: Joe Lawrence <joe.lawrence@stratus.com>
    Acked-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: James Bottomley <JBottomley@Parallels.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e1467c25cde8d158656eb86960472d4e03e6d71b
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Mon May 19 19:21:29 2014 -0400

    drm/radeon/pm: don't allow debugfs/sysfs access when PX card is off (v2)
    
    commit 4f2f203976964e267dc477de6648bdb3acd2b74b upstream.
    
    When the PX card is off don't try and access it. Avoid hw access
    to the card while it's off (e.g., reading back invalid temperature).
    
    v2: be less strict
    
    bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=76321
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 425bd7a111a4b7bf15c099c2146bc3efcbabcc73
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Thu May 8 20:04:03 2014 -0400

    drm/radeon: handle non-VGA class pci devices with ATRM
    
    commit d8ade3526b2aa0505132c404c05a38b73ea15490 upstream.
    
    Newer PX systems have non-VGA pci class dGPUs.  Update
    the ATRM fetch method to handle those cases.
    
    bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=75401
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d79a54d9877f1cf992cbe2be5b96ab1142aea8b8
Author: Christian König <christian.koenig@amd.com>
Date:   Mon May 5 18:40:12 2014 +0200

    drm/radeon: also try GART for CPU accessed buffers
    
    commit 544092596e8ac269f70e70961b5e9381909c9b1e upstream.
    
    Placing them exclusively into VRAM might not work all the time.
    
    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=78297
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 92f1bd3321da3ce4496b76a9c69d20ef299c845f
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Mon May 5 16:40:42 2014 -0400

    drm/radeon: fix register typo on si
    
    commit 4955bb073f1be6dd884b5d10041ba4bade6495bf upstream.
    
    Probably a copy paste typo.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d91f938865d746259482d5d541acddd44e680f64
Author: Ben Skeggs <bskeggs@redhat.com>
Date:   Tue May 20 16:13:54 2014 +1000

    drm/gf119-/disp: fix nasty bug which can clobber SOR0's clock setup
    
    commit 0f1d360b2ee3a2a0f510d3f1bcd3f5ebe5d41265 upstream.
    
    Fixes a LVDS bleed issue on Lenovo W530 that can occur under a
    number of circumstances.
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3109d88673a7e2ef02388a58c54ff368b9523fc1
Author: Jean Delvare <jdelvare@suse.de>
Date:   Sun May 25 17:23:08 2014 +0200

    hwmon: (ntc_thermistor) Fix OF device ID mapping
    
    commit ead82d6792ef5c600d535bca6ec50a4da14ff7c7 upstream.
    
    The mapping from OF device IDs to platform device IDs is wrong.
    TYPE_NCPXXWB473 is 0, TYPE_NCPXXWL333 is 1, so
    ntc_thermistor_id[TYPE_NCPXXWB473] is { "ncp15wb473", TYPE_NCPXXWB473 }
    while
    ntc_thermistor_id[TYPE_NCPXXWL333] is { "ncp18wb473", TYPE_NCPXXWB473 }.
    
    So the name is wrong for all but the "ntc,ncp15wb473" entry, and the
    type is wrong for the "ntc,ncp15wl333" entry.
    
    So map the entries by index, it is neither elegant nor robust but at
    least it is correct.
    
    Signed-off-by: Jean Delvare <jdelvare@suse.de>
    Fixes: 9e8269de hwmon: (ntc_thermistor) Add DT with IIO support to NTC thermistor driver
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Cc: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
    Cc: Doug Anderson <dianders@chromium.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a17d6978183327b47581222832e72dd344197c66
Author: Jean Delvare <jdelvare@suse.de>
Date:   Sun May 25 17:23:08 2014 +0200

    hwmon: (ntc_thermistor) Fix dependencies
    
    commit 59cf4243e557aa64ab2ef51280454aa1f3828e14 upstream.
    
    In commit 9e8269de, support was added for ntc_thermistor devices being
    declared in the device tree and implemented on top of IIO. With that
    change, a dependency was added to the ntc_thermistor driver:
    
    	depends on (!OF && !IIO) || (OF && IIO)
    
    This construct has the drawback that the driver can no longer be
    selected when OF is set and IIO isn't, nor when IIO is set and OF is
    not. This is a regression for the original users of the driver.
    
    As the new code depends on IIO and is useless without OF, include it
    only if both are enabled, and set the dependencies accordingly. This
    is clearer, more simple and more correct.
    
    Signed-off-by: Jean Delvare <jdelvare@suse.de>
    Fixes: 9e8269de hwmon: (ntc_thermistor) Add DT with IIO support to NTC thermistor driver
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Cc: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
    Cc: Doug Anderson <dianders@chromium.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b450e9c1ce49ab3ff412baeaafa0b5884ecc1ab6
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Thu May 22 11:54:23 2014 -0700

    Documentation: fix DOCBOOKS=... building
    
    commit e60cbeedc48d80689c249ab5dcc3c31ad0452dea upstream.
    
    Prior to commit 4266129964b8 ("[media] DocBook: Move all media docbook
    stuff into its own directory") it was possible to build only a single
    (or more) book(s) by calling, for example
    
        make htmldocs DOCBOOKS=80211.xml
    
    This now fails:
    
        cp: target `.../Documentation/DocBook//media_api' is not a directory
    
    Ignore errors from that copy to make this possible again.
    
    Fixes: 4266129964b8 ("[media] DocBook: Move all media docbook stuff into its own directory")
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Acked-by: Randy Dunlap <rdunlap@xenotime.net>
    Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
    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 362225376da72c45248fb879178100a4aeda78f5
Author: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Date:   Thu May 22 11:54:21 2014 -0700

    mm/memory-failure.c: fix memory leak by race between poison and unpoison
    
    commit 3e030ecc0fc7de10fd0da10c1c19939872a31717 upstream.
    
    When a memory error happens on an in-use page or (free and in-use)
    hugepage, the victim page is isolated with its refcount set to one.
    
    When you try to unpoison it later, unpoison_memory() calls put_page()
    for it twice in order to bring the page back to free page pool (buddy or
    free hugepage list).  However, if another memory error occurs on the
    page which we are unpoisoning, memory_failure() returns without
    releasing the refcount which was incremented in the same call at first,
    which results in memory leak and unconsistent num_poisoned_pages
    statistics.  This patch fixes it.
    
    Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
    Cc: Andi Kleen <andi@firstfloor.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 f3a9846d7ae15244093f490f19ecb2f932494bc7
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Fri May 2 16:56:01 2014 +0200

    perf: Fix race in removing an event
    
    commit 46ce0fe97a6be7532ce6126bb26ce89fed81528c upstream.
    
    When removing a (sibling) event we do:
    
    	raw_spin_lock_irq(&ctx->lock);
    	perf_group_detach(event);
    	raw_spin_unlock_irq(&ctx->lock);
    
    	<hole>
    
    	perf_remove_from_context(event);
    		raw_spin_lock_irq(&ctx->lock);
    		...
    		raw_spin_unlock_irq(&ctx->lock);
    
    Now, assuming the event is a sibling, it will be 'unreachable' for
    things like ctx_sched_out() because that iterates the
    groups->siblings, and we just unhooked the sibling.
    
    So, if during <hole> we get ctx_sched_out(), it will miss the event
    and not call event_sched_out() on it, leaving it programmed on the
    PMU.
    
    The subsequent perf_remove_from_context() call will find the ctx is
    inactive and only call list_del_event() to remove the event from all
    other lists.
    
    Hereafter we can proceed to free the event; while still programmed!
    
    Close this hole by moving perf_group_detach() inside the same
    ctx->lock region(s) perf_remove_from_context() has.
    
    The condition on inherited events only in __perf_event_exit_task() is
    likely complete crap because non-inherited events are part of groups
    too and we're tearing down just the same. But leave that for another
    patch.
    
    Most-likely-Fixes: e03a9a55b4e ("perf: Change close() semantics for group events")
    Reported-by: Vince Weaver <vincent.weaver@maine.edu>
    Tested-by: Vince Weaver <vincent.weaver@maine.edu>
    Much-staring-at-traces-by: Vince Weaver <vincent.weaver@maine.edu>
    Much-staring-at-traces-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20140505093124.GN17778@laptop.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 23d92064081ba10489b7a654b97255d8dfcfa6f4
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Thu May 15 20:23:48 2014 +0200

    perf: Limit perf_event_attr::sample_period to 63 bits
    
    commit 0819b2e30ccb93edf04876237b6205eef84ec8d2 upstream.
    
    Vince reported that using a large sample_period (one with bit 63 set)
    results in wreckage since while the sample_period is fundamentally
    unsigned (negative periods don't make sense) the way we implement
    things very much rely on signed logic.
    
    So limit sample_period to 63 bits to avoid tripping over this.
    
    Reported-by: Vince Weaver <vincent.weaver@maine.edu>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/n/tip-p25fhunibl4y3qi0zuqmyf4b@git.kernel.org
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d4558852c75896249de3f3e70fa60befa4da4305
Author: Jiri Olsa <jolsa@redhat.com>
Date:   Mon Apr 7 11:04:08 2014 +0200

    perf: Prevent false warning in perf_swevent_add
    
    commit 39af6b1678afa5880dda7e375cf3f9d395087f6d upstream.
    
    The perf cpu offline callback takes down all cpu context
    events and releases swhash->swevent_hlist.
    
    This could race with task context software event being just
    scheduled on this cpu via perf_swevent_add while cpu hotplug
    code already cleaned up event's data.
    
    The race happens in the gap between the cpu notifier code
    and the cpu being actually taken down. Note that only cpu
    ctx events are terminated in the perf cpu hotplug code.
    
    It's easily reproduced with:
      $ perf record -e faults perf bench sched pipe
    
    while putting one of the cpus offline:
      # echo 0 > /sys/devices/system/cpu/cpu1/online
    
    Console emits following warning:
      WARNING: CPU: 1 PID: 2845 at kernel/events/core.c:5672 perf_swevent_add+0x18d/0x1a0()
      Modules linked in:
      CPU: 1 PID: 2845 Comm: sched-pipe Tainted: G        W    3.14.0+ #256
      Hardware name: Intel Corporation Montevina platform/To be filled by O.E.M., BIOS AMVACRB1.86C.0066.B00.0805070703 05/07/2008
       0000000000000009 ffff880077233ab8 ffffffff81665a23 0000000000200005
       0000000000000000 ffff880077233af8 ffffffff8104732c 0000000000000046
       ffff88007467c800 0000000000000002 ffff88007a9cf2a0 0000000000000001
      Call Trace:
       [<ffffffff81665a23>] dump_stack+0x4f/0x7c
       [<ffffffff8104732c>] warn_slowpath_common+0x8c/0xc0
       [<ffffffff8104737a>] warn_slowpath_null+0x1a/0x20
       [<ffffffff8110fb3d>] perf_swevent_add+0x18d/0x1a0
       [<ffffffff811162ae>] event_sched_in.isra.75+0x9e/0x1f0
       [<ffffffff8111646a>] group_sched_in+0x6a/0x1f0
       [<ffffffff81083dd5>] ? sched_clock_local+0x25/0xa0
       [<ffffffff811167e6>] ctx_sched_in+0x1f6/0x450
       [<ffffffff8111757b>] perf_event_sched_in+0x6b/0xa0
       [<ffffffff81117a4b>] perf_event_context_sched_in+0x7b/0xc0
       [<ffffffff81117ece>] __perf_event_task_sched_in+0x43e/0x460
       [<ffffffff81096f1e>] ? put_lock_stats.isra.18+0xe/0x30
       [<ffffffff8107b3c8>] finish_task_switch+0xb8/0x100
       [<ffffffff8166a7de>] __schedule+0x30e/0xad0
       [<ffffffff81172dd2>] ? pipe_read+0x3e2/0x560
       [<ffffffff8166b45e>] ? preempt_schedule_irq+0x3e/0x70
       [<ffffffff8166b45e>] ? preempt_schedule_irq+0x3e/0x70
       [<ffffffff8166b464>] preempt_schedule_irq+0x44/0x70
       [<ffffffff816707f0>] retint_kernel+0x20/0x30
       [<ffffffff8109e60a>] ? lockdep_sys_exit+0x1a/0x90
       [<ffffffff812a4234>] lockdep_sys_exit_thunk+0x35/0x67
       [<ffffffff81679321>] ? sysret_check+0x5/0x56
    
    Fixing this by tracking the cpu hotplug state and displaying
    the WARN only if current cpu is initialized properly.
    
    Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Reported-by: Fengguang Wu <fengguang.wu@intel.com>
    Signed-off-by: Jiri Olsa <jolsa@redhat.com>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/1396861448-10097-1-git-send-email-jolsa@redhat.com
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1d74d3d198821041e1d807e13e7fe322daab1e2b
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Fri May 2 23:26:24 2014 +0200

    sched: Sanitize irq accounting madness
    
    commit 2d513868e2a33e1d5315490ef4c861ee65babd65 upstream.
    
    Russell reported, that irqtime_account_idle_ticks() takes ages due to:
    
           for (i = 0; i < ticks; i++)
                   irqtime_account_process_tick(current, 0, rq);
    
    It's sad, that this code was written way _AFTER_ the NOHZ idle
    functionality was available. I charge myself guitly for not paying
    attention when that crap got merged with commit abb74cefa ("sched:
    Export ns irqtimes through /proc/stat")
    
    So instead of looping nr_ticks times just apply the whole thing at
    once.
    
    As a side note: The whole cputime_t vs. u64 business in that context
    wants to be cleaned up as well. There is no point in having all these
    back and forth conversions. Lets standardise on u64 nsec for all
    kernel internal accounting and be done with it. Everything else does
    not make sense at all for fine grained accounting. Frederic, can you
    please take care of that?
    
    Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Cc: Venkatesh Pallipadi <venki@google.com>
    Cc: Shaun Ruffell <sruffell@digium.com>
    Link: http://lkml.kernel.org/r/alpine.DEB.2.02.1405022307000.6261@ionos.tec.linutronix.de
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 75ba5916c4f67c3086650986eeda0a1114846f5f
Author: Li Zefan <lizefan@huawei.com>
Date:   Thu Apr 17 10:05:02 2014 +0800

    sched/deadline: Fix memory leak
    
    commit 6a7cd273dc4bc3246f37ebe874754a54ccb29141 upstream.
    
    Free cpudl->free_cpus allocated in cpudl_init().
    
    Signed-off-by: Li Zefan <lizefan@huawei.com>
    Acked-by: Juri Lelli <juri.lelli@gmail.com>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/534F36CE.2000409@huawei.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e991c3535507139fd2e8079113131557257f725e
Author: Steven Rostedt (Red Hat) <rostedt@goodmis.org>
Date:   Sun Apr 13 09:34:53 2014 -0400

    sched: Use CPUPRI_NR_PRIORITIES instead of MAX_RT_PRIO in cpupri check
    
    commit 6227cb00cc120f9a43ce8313bb0475ddabcb7d01 upstream.
    
    The check at the beginning of cpupri_find() makes sure that the task_pri
    variable does not exceed the cp->pri_to_cpu array length. But that length
    is CPUPRI_NR_PRIORITIES not MAX_RT_PRIO, where it will miss the last two
    priorities in that array.
    
    As task_pri is computed from convert_prio() which should never be bigger
    than CPUPRI_NR_PRIORITIES, if the check should cause a panic if it is
    hit.
    
    Reported-by: Mike Galbraith <umgwanakikbuti@gmail.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/1397015410.5212.13.camel@marge.simpson.net
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>