commit 9b609ba2c2df8290054e5c62be69101b43e2a976
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Nov 15 15:53:21 2017 +0100

    Linux 4.9.62

commit e45d93b48c930a2c3de556b9dbffc818ec9dd1e3
Author: Borislav Petkov <bp@suse.de>
Date:   Tue Nov 7 18:53:07 2017 +0100

    x86/oprofile/ppro: Do not use __this_cpu*() in preemptible context
    
    commit a743bbeef27b9176987ec0cb7f906ab0ab52d1da upstream.
    
    The warning below says it all:
    
      BUG: using __this_cpu_read() in preemptible [00000000] code: swapper/0/1
      caller is __this_cpu_preempt_check
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.14.0-rc8 #4
      Call Trace:
       dump_stack
       check_preemption_disabled
       ? do_early_param
       __this_cpu_preempt_check
       arch_perfmon_init
       op_nmi_init
       ? alloc_pci_root_info
       oprofile_arch_init
       oprofile_init
       do_one_initcall
       ...
    
    These accessors should not have been used in the first place: it is PPro so
    no mixed silicon revisions and thus it can simply use boot_cpu_data.
    
    Reported-by: Fengguang Wu <fengguang.wu@intel.com>
    Tested-by: Fengguang Wu <fengguang.wu@intel.com>
    Fix-creation-mandated-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Robert Richter <rric@kernel.org>
    Cc: x86@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9d5e5994c5f90121ac09efd04ee565aa8bddc049
Author: Pavel Tatashin <pasha.tatashin@oracle.com>
Date:   Fri Oct 27 20:11:00 2017 -0400

    x86/smpboot: Make optimization of delay calibration work correctly
    
    commit 76ce7cfe35ef58f34e6ba85327afb5fbf6c3ff9b upstream.
    
    If the TSC has constant frequency then the delay calibration can be skipped
    when it has been calibrated for a package already. This is checked in
    calibrate_delay_is_known(), but that function is buggy in two aspects:
    
    It returns 'false' if
    
      (!tsc_disabled && !cpu_has(&cpu_data(cpu), X86_FEATURE_CONSTANT_TSC)
    
    which is obviously the reverse of the intended check and the check for the
    sibling mask cannot work either because the topology links have not been
    set up yet.
    
    Correct the condition and move the call to set_cpu_sibling_map() before
    invoking calibrate_delay() so the sibling check works correctly.
    
    [ tglx: Rewrote changelong ]
    
    Fixes: c25323c07345 ("x86/tsc: Use topology functions")
    Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: peterz@infradead.org
    Cc: bob.picco@oracle.com
    Cc: steven.sistare@oracle.com
    Cc: daniel.m.jordan@oracle.com
    Link: https://lkml.kernel.org/r/20171028001100.26603-1-pasha.tatashin@oracle.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9313d039c4d00c0552fc03c63f5228f2dc6f452a
Author: Richard Schütz <rschuetz@uni-koblenz.de>
Date:   Sun Oct 29 13:03:22 2017 +0100

    can: c_can: don't indicate triple sampling support for D_CAN
    
    commit fb5f0b3ef69b95e665e4bbe8a3de7201f09f1071 upstream.
    
    The D_CAN controller doesn't provide a triple sampling mode, so don't set
    the CAN_CTRLMODE_3_SAMPLES flag in ctrlmode_supported. Currently enabling
    triple sampling is a no-op.
    
    Signed-off-by: Richard Schütz <rschuetz@uni-koblenz.de>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5e01a9f94e5911ae115ddd38930c8cab5d1389e9
Author: Marek Vasut <marex@denx.de>
Date:   Fri Nov 10 11:22:39 2017 +0100

    can: ifi: Fix transmitter delay calculation
    
    commit 4f7116757b4bd99e4ef2636c7d957a6d63035d11 upstream.
    
    The CANFD transmitter delay calculation formula was updated in the
    latest software drop from IFI and improves the behavior of the IFI
    CANFD core during bitrate switching. Use the new formula to improve
    stability of the CANFD operation.
    
    Signed-off-by: Marek Vasut <marex@denx.de>
    Cc: Markus Marb <markus@marb.org>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f45c1b09261b1f02019e422846e2545ea61ce89d
Author: Gerhard Bertelsmann <info@gerhard-bertelsmann.de>
Date:   Mon Nov 6 18:16:56 2017 +0100

    can: sun4i: handle overrun in RX FIFO
    
    commit 4dcf924c2eda0c47a5c53b7703e3dc65ddaa8920 upstream.
    
    SUN4Is CAN IP has a 64 byte deep FIFO buffer. If the buffer is not
    drained fast enough (overrun) it's getting mangled. Already received
    frames are dropped - the data can't be restored.
    
    Signed-off-by: Gerhard Bertelsmann <info@gerhard-bertelsmann.de>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bad4c8f1bc25970895aee312c93130cff7cdcf0f
Author: John Stultz <john.stultz@linaro.org>
Date:   Mon Jan 16 16:52:52 2017 -0800

    drm/bridge: adv7511: Re-write the i2c address before EDID probing
    
    commit 3587c856675c45809010c2cee5b21096f6e8e938 upstream.
    
    I've found that by just turning the chip on and off via the
    POWER_DOWN register, I end up getting i2c_transfer errors on
    HiKey.
    
    Investigating further, it turns out that some of the register
    state in hardware is getting lost, as the device registers are
    reset when the chip is powered down.
    
    Thus this patch simply re-writes the i2c address to the
    ADV7511_REG_EDID_I2C_ADDR register to ensure its properly set
    before we try to read the EDID data.
    
    Cc: David Airlie <airlied@linux.ie>
    Cc: Archit Taneja <architt@codeaurora.org>
    Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Cc: Lars-Peter Clausen <lars@metafoo.de>
    Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Cc: dri-devel@lists.freedesktop.org
    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: John Stultz <john.stultz@linaro.org>
    Signed-off-by: Archit Taneja <architt@codeaurora.org>
    Link: http://patchwork.freedesktop.org/patch/msgid/1484614372-15342-7-git-send-email-john.stultz@linaro.org
    Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@renesas.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6731d54c78684e49f713d9a5dac6dee181be9c46
Author: John Stultz <john.stultz@linaro.org>
Date:   Mon Jan 16 16:52:51 2017 -0800

    drm/bridge: adv7511: Reuse __adv7511_power_on/off() when probing EDID
    
    commit 4226d9b127cf4758ba0e07931b3f0d59f1b1a50c upstream.
    
    Thus this patch changes the EDID probing logic so that we
    re-use the __adv7511_power_on/off() calls instead of duplciating
    logic.
    
    This does change behavior slightly as it adds the HPD signal
    pulse to the EDID probe path, but Archit has had a patch to
    add HPD signal pulse to the EDID probe path before, so this
    should address the cases where that helped. Another difference
    is that regcache_mark_dirty() is also called in the power off
    path once EDID is probed.
    
    Cc: David Airlie <airlied@linux.ie>
    Cc: Archit Taneja <architt@codeaurora.org>
    Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Cc: Lars-Peter Clausen <lars@metafoo.de>
    Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Cc: dri-devel@lists.freedesktop.org
    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: John Stultz <john.stultz@linaro.org>
    Signed-off-by: Archit Taneja <architt@codeaurora.org>
    Link: http://patchwork.freedesktop.org/patch/msgid/1484614372-15342-6-git-send-email-john.stultz@linaro.org
    Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@renesas.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit efc6d340e41096518f2c2dc6a45821bb484c8455
Author: John Stultz <john.stultz@linaro.org>
Date:   Mon Jan 16 16:52:50 2017 -0800

    drm/bridge: adv7511: Rework adv7511_power_on/off() so they can be reused internally
    
    commit 651e4769ba2a9f20c4b8a823ae2727bf7fa9c9f0 upstream.
    
    In chasing down issues with EDID probing, I found some
    duplicated but incomplete logic used to power the chip on and
    off.
    
    This patch refactors the adv7511_power_on/off functions, so
    they can be used for internal needs.
    
    Cc: David Airlie <airlied@linux.ie>
    Cc: Archit Taneja <architt@codeaurora.org>
    Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Cc: Lars-Peter Clausen <lars@metafoo.de>
    Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Cc: dri-devel@lists.freedesktop.org
    Signed-off-by: John Stultz <john.stultz@linaro.org>
    Signed-off-by: Archit Taneja <architt@codeaurora.org>
    Link: http://patchwork.freedesktop.org/patch/msgid/1484614372-15342-5-git-send-email-john.stultz@linaro.org
    Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@renesas.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 55e7e521381788ec6395bdc917ac1fcd3a03b47e
Author: Sinclair Yeh <syeh@vmware.com>
Date:   Wed Nov 1 10:47:05 2017 -0700

    drm/vmwgfx: Fix Ubuntu 17.10 Wayland black screen issue
    
    commit cef75036c40408ba3bc308bcb00a3d440da713fc upstream.
    
    This is an extension of Commit 7c20d213dd3c ("drm/vmwgfx: Work
    around mode set failure in 2D VMs")
    
    With Wayland desktop and atomic mode set, during the mode setting
    process there is a moment when two framebuffer sized surfaces
    are being pinned.  This was not an issue with Xorg.
    
    Since this only happens during a mode change, there should be no
    performance impact by increasing allowable mem_size.
    
    Signed-off-by: Sinclair Yeh <syeh@vmware.com>
    Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4f027e3c7b62120bde3a11ade489bb77df20c830
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Mon Nov 6 11:33:36 2017 +0100

    rbd: use GFP_NOIO for parent stat and data requests
    
    commit 1e37f2f84680fa7f8394fd444b6928e334495ccc upstream.
    
    rbd_img_obj_exists_submit() and rbd_img_obj_parent_read_full() are on
    the writeback path for cloned images -- we attempt a stat on the parent
    object to see if it exists and potentially read it in to call copyup.
    GFP_NOIO should be used instead of GFP_KERNEL here.
    
    Link: http://tracker.ceph.com/issues/22014
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Reviewed-by: David Disseldorp <ddiss@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9f2ac3d8cb3146ce102814464cd63cd3cfef43ed
Author: Kai-Heng Feng <kai.heng.feng@canonical.com>
Date:   Tue Nov 7 16:19:24 2017 -0800

    Input: elan_i2c - add ELAN060C to the ACPI table
    
    commit cdea6a30c2689cc33b34c6691b57cca277f0c5dc upstream.
    
    ELAN060C touchpad uses elan_i2c as its driver. It can be
    found on Lenovo ideapad 320-14AST.
    
    BugLink: https://bugs.launchpad.net/bugs/1727544
    Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1331af440ad2c7d34555233863c730f66cad7a19
Author: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Date:   Sun Oct 29 16:27:20 2017 +0100

    MIPS: AR7: Ensure that serial ports are properly set up
    
    commit b084116f8587b222a2c5ef6dcd846f40f24b9420 upstream.
    
    Without UPF_FIXED_TYPE, the data from the PORT_AR7 uart_config entry is
    never copied, resulting in a dead port.
    
    Fixes: 154615d55459 ("MIPS: AR7: Use correct UART port type")
    Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
    [jonas.gorski: add Fixes tag]
    Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Yoshihiro YUNOMAE <yoshihiro.yunomae.ez@hitachi.com>
    Cc: Nicolas Schichan <nschichan@freebox.fr>
    Cc: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
    Cc: linux-mips@linux-mips.org
    Cc: linux-serial@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/17543/
    Signed-off-by: James Hogan <jhogan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 76aaa788e92ab55fb9bc553560a01867b8406edf
Author: Jonas Gorski <jonas.gorski@gmail.com>
Date:   Sun Oct 29 16:27:19 2017 +0100

    MIPS: AR7: Defer registration of GPIO
    
    commit e6b03ab63b4d270e0249f96536fde632409dc1dc upstream.
    
    When called from prom init code, ar7_gpio_init() will fail as it will
    call gpiochip_add() which relies on a working kmalloc() to alloc
    the gpio_desc array and kmalloc is not useable yet at prom init time.
    
    Move ar7_gpio_init() to ar7_register_devices() (a device_initcall)
    where kmalloc works.
    
    Fixes: 14e85c0e69d5 ("gpio: remove gpio_descs global array")
    Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Yoshihiro YUNOMAE <yoshihiro.yunomae.ez@hitachi.com>
    Cc: Nicolas Schichan <nschichan@freebox.fr>
    Cc: linux-mips@linux-mips.org
    Cc: linux-serial@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/17542/
    Signed-off-by: James Hogan <jhogan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b17e663e150cd97728a270195695cac25910782f
Author: Jaedon Shin <jaedon.shin@gmail.com>
Date:   Fri Jun 16 20:03:01 2017 +0900

    MIPS: BMIPS: Fix missing cbr address
    
    commit ea4b3afe1eac8f88bb453798a084fba47a1f155a upstream.
    
    Fix NULL pointer access in BMIPS3300 RAC flush.
    
    Fixes: 738a3f79027b ("MIPS: BMIPS: Add early CPU initialization code")
    Signed-off-by: Jaedon Shin <jaedon.shin@gmail.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Cc: Kevin Cernekee <cernekee@gmail.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/16423/
    Signed-off-by: James Hogan <jhogan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bbc62fb031a69581d11a72684de12f4bb6f23742
Author: Marcus Cooper <codekipper@gmail.com>
Date:   Tue Dec 20 15:49:13 2016 +0100

    ASoC: sun4i-spdif: remove legacy dapm components
    
    commit 96e53c41e1f81c9e9d1ce38d3f28b95668b71dcf upstream.
    
    The dapm components are now handled by the ALSA SoC SPDIF DIT driver
    so can be removed.
    
    Signed-off-by: Marcus Cooper <codekipper@gmail.com>
    Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fb705ebf996e180024d6f1b2342da61e33c2302f
Author: Luis R. Rodriguez <mcgrof@kernel.org>
Date:   Mon Jan 23 08:11:07 2017 -0800

    tools: firmware: check for distro fallback udev cancel rule
    
    commit afb999cdef69148f366839e74470d8f5375ba5f1 upstream.
    
    Some distributions (Debian, OpenSUSE) have a udev rule in place to cancel
    all fallback mechanism uevents immediately. This would obviously
    make it hard to test against the fallback mechanism test interface,
    so we need to check for this.
    
    Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
    Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ebf95a6f0286c0a77ba3c540f41e3d0bbc754e2a
Author: Luis R. Rodriguez <mcgrof@kernel.org>
Date:   Fri Dec 16 03:10:35 2016 -0800

    selftests: firmware: send expected errors to /dev/null
    
    commit 880444e214cfd293a2e8cc4bd3505f7ffa6ce33a upstream.
    
    Error that we expect should not be spilled to stdout.
    
    Without this we get:
    
    ./fw_filesystem.sh: line 58: printf: write error: Invalid argument
    ./fw_filesystem.sh: line 63: printf: write error: No such device
    ./fw_filesystem.sh: line 69: echo: write error: No such file or directory
    ./fw_filesystem.sh: filesystem loading works
    ./fw_filesystem.sh: async filesystem loading works
    
    With it:
    
    ./fw_filesystem.sh: filesystem loading works
    ./fw_filesystem.sh: async filesystem loading works
    
    Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
    Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b98220399dc42a81405a4f7962d00fd658fd4cfc
Author: Matt Redfearn <matt.redfearn@imgtec.com>
Date:   Wed Sep 27 10:13:25 2017 +0100

    MIPS: SMP: Fix deadlock & online race
    
    commit 9e8c399a88f0b87e41a894911475ed2a8f8dff9e upstream.
    
    Commit 6f542ebeaee0 ("MIPS: Fix race on setting and getting
    cpu_online_mask") effectively reverted commit 8f46cca1e6c06 ("MIPS: SMP:
    Fix possibility of deadlock when bringing CPUs online") and thus has
    reinstated the possibility of deadlock.
    
    The commit was based on testing of kernel v4.4, where the CPU hotplug
    core code issued a BUG() if the starting CPU is not marked online when
    the boot CPU returns from __cpu_up. The commit fixes this race (in
    v4.4), but re-introduces the deadlock situation.
    
    As noted in the commit message, upstream differs in this area. Commit
    8df3e07e7f21f ("cpu/hotplug: Let upcoming cpu bring itself fully up")
    adds a completion event in the CPU hotplug core code, making this race
    impossible. However, people were unhappy with relying on the core code
    to do the right thing.
    
    To address the issues both commits were trying to fix, add a second
    completion event in the MIPS smp hotplug path. It removes the
    possibility of a race, since the MIPS smp hotplug code now synchronises
    both the boot and secondary CPUs before they return to the hotplug core
    code. It also addresses the deadlock by ensuring that the secondary CPU
    is not marked online before it's counters are synchronised.
    
    This fix should also be backported to fix the race condition introduced
    by the backport of commit 8f46cca1e6c06 ("MIPS: SMP: Fix possibility of
    deadlock when bringing CPUs online"), through really that race only
    existed before commit 8df3e07e7f21f ("cpu/hotplug: Let upcoming cpu
    bring itself fully up").
    
    Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
    Fixes: 6f542ebeaee0 ("MIPS: Fix race on setting and getting cpu_online_mask")
    CC: Matija Glavinic Pecotic <matija.glavinic-pecotic.ext@nokia.com>
    Patchwork: https://patchwork.linux-mips.org/patch/17376/
    Signed-off-by: James Hogan <jhogan@kernel.org>
    [jhogan@kernel.org: Backported 4.1..4.9]
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3b9fd3333aaf78e5d5209f4fed053101dd8fa5db
Author: Matija Glavinic Pecotic <matija.glavinic-pecotic.ext@nokia.com>
Date:   Thu Aug 3 08:20:22 2017 +0200

    MIPS: Fix race on setting and getting cpu_online_mask
    
    commit 6f542ebeaee0ee552a902ce3892220fc22c7ec8e upstream.
    
    While testing cpu hoptlug (cpu down and up in loops) on kernel 4.4, it was
    observed that occasionally check for cpu online will fail in kernel/cpu.c,
    _cpu_up:
    
    https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tree/kernel/cpu.c?h=v4.4.79#n485
     518        /* Arch-specific enabling code. */
     519        ret = __cpu_up(cpu, idle);
     520
     521        if (ret != 0)
     522                goto out_notify;
     523        BUG_ON(!cpu_online(cpu));
    
    Reason is race between start_secondary and _cpu_up. cpu_callin_map is set
    before cpu_online_mask. In __cpu_up, cpu_callin_map is waited for, but cpu
    online mask is not, resulting in race in which secondary processor started
    and set cpu_callin_map, but not yet set the online mask,resulting in above
    BUG being hit.
    
    Upstream differs in the area. cpu_online check is in bringup_wait_for_ap,
    which is after cpu reached AP_ONLINE_IDLE,where secondary passed its start
    function. Nonetheless, fix makes start_secondary safe and not depending on
    other locks throughout the code. It protects as well against cpu_online
    checks put in between sometimes in the future.
    
    Fix this by moving completion after all flags are set.
    
    Signed-off-by: Matija Glavinic Pecotic <matija.glavinic-pecotic.ext@nokia.com>
    Cc: Alexander Sverdlin <alexander.sverdlin@nokia.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/16925/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d99db83cafbf4648694ade77bac109cbdbd1bf9a
Author: Matt Redfearn <matt.redfearn@imgtec.com>
Date:   Fri Nov 4 09:28:56 2016 +0000

    MIPS: SMP: Use a completion event to signal CPU up
    
    commit a00eeede507c975087b7b8df8cf2c9f88ba285de upstream.
    
    If a secondary CPU failed to start, for any reason, the CPU requesting
    the secondary to start would get stuck in the loop waiting for the
    secondary to be present in the cpu_callin_map.
    
    Rather than that, use a completion event to signal that the secondary
    CPU has started and is waiting to synchronise counters.
    
    Since the CPU presence will no longer be marked in cpu_callin_map,
    remove the redundant test from arch_cpu_idle_dead().
    
    Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
    Cc: Maciej W. Rozycki <macro@imgtec.com>
    Cc: Jiri Slaby <jslaby@suse.cz>
    Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
    Cc: Chris Metcalf <cmetcalf@mellanox.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Qais Yousef <qsyousef@gmail.com>
    Cc: James Hogan <james.hogan@imgtec.com>
    Cc: Paul Burton <paul.burton@imgtec.com>
    Cc: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/14502/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 71bcb37ff5fa6d4dd5ba91aab06c90ac08827377
Author: Paul Burton <paul.burton@mips.com>
Date:   Tue Oct 31 15:09:22 2017 -0700

    MIPS: Fix CM region target definitions
    
    commit 6a6cba1d945a7511cdfaf338526871195e420762 upstream.
    
    The default CM target field in the GCR_BASE register is encoded with 0
    meaning memory & 1 being reserved. However the definitions we use for
    those bits effectively get these two values backwards - likely because
    they were copied from the definitions for the CM regions where the
    target is encoded differently. This results in use setting up GCR_BASE
    with the reserved target value by default, rather than targeting memory
    as intended. Although we currently seem to get away with this it's not a
    great idea to rely upon.
    
    Fix this by changing our macros to match the documentated target values.
    
    The incorrect encoding became used as of commit 9f98f3dd0c51 ("MIPS: Add
    generic CM probe & access code") in the Linux v3.15 cycle, and was
    likely carried forwards from older but unused code introduced by
    commit 39b8d5254246 ("[MIPS] Add support for MIPS CMP platform.") in the
    v2.6.26 cycle.
    
    Fixes: 9f98f3dd0c51 ("MIPS: Add generic CM probe & access code")
    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Reported-by: Matt Redfearn <matt.redfearn@mips.com>
    Reviewed-by: James Hogan <jhogan@kernel.org>
    Cc: Matt Redfearn <matt.redfearn@mips.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: linux-mips@linux-mips.org
    Cc: <stable@vger.kernel.org> # v3.15+
    Patchwork: https://patchwork.linux-mips.org/patch/17562/
    Signed-off-by: James Hogan <jhogan@kernel.org>
    [jhogan@kernel.org: Backported 3.15..4.13]
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 16d5634e882798965f74ba8eb6f376fc9b9e4f11
Author: Gustavo A. R. Silva <garsilva@embeddedor.com>
Date:   Tue Oct 31 00:35:03 2017 -0500

    MIPS: microMIPS: Fix incorrect mask in insn_table_MM
    
    commit 77238e76b9156d28d86c1e31c00ed2960df0e4de upstream.
    
    It seems that this is a typo error and the proper bit masking is
    "RT | RS" instead of "RS | RS".
    
    This issue was detected with the help of Coccinelle.
    
    Fixes: d6b3314b49e1 ("MIPS: uasm: Add lh uam instruction")
    Reported-by: Julia Lawall <julia.lawall@lip6.fr>
    Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
    Reviewed-by: James Hogan <jhogan@kernel.org>
    Patchwork: https://patchwork.linux-mips.org/patch/17551/
    Signed-off-by: James Hogan <jhogan@kernel.org>
    [jhogan@kernel.org: Backported 3.16..4.12]
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7de694782cbe7840f2c0de6f1e70f41fc1b8b6e8
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Thu Oct 19 17:13:40 2017 +0200

    drm/i915: Do not rely on wm preservation for ILK watermarks
    
    commit 8777b927b92cf5b6c29f9f9d3c737addea9ac8a7 upstream.
    
    The original intent was to preserve watermarks as much as possible
    in intel_pipe_wm.raw_wm, and put the validated ones in intel_pipe_wm.wm.
    
    It seems this approach is insufficient and we don't always preserve
    the raw watermarks, so just use the atomic iterator we're already using
    to get a const pointer to all bound planes on the crtc.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102373
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20171019151341.4579-1-maarten.lankhorst@linux.intel.com
    (cherry picked from commit 28283f4f359cd7cfa9e65457bb98c507a2cd0cd0)
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b35783871190a8fcf31c2216638b92bcb2bf152e
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Nov 6 20:16:50 2017 +0100

    ALSA: seq: Avoid invalid lockdep class warning
    
    commit 3510c7aa069aa83a2de6dab2b41401a198317bdc upstream.
    
    The recent fix for adding rwsem nesting annotation was using the given
    "hop" argument as the lock subclass key.  Although the idea itself
    works, it may trigger a kernel warning like:
      BUG: looking up invalid subclass: 8
      ....
    since the lockdep has a smaller number of subclasses (8) than we
    currently allow for the hops there (10).
    
    The current definition is merely a sanity check for avoiding the too
    deep delivery paths, and the 8 hops are already enough.  So, as a
    quick fix, just follow the max hops as same as the max lockdep
    subclasses.
    
    Fixes: 1f20f9ff57ca ("ALSA: seq: Fix nested rwsem annotation for lockdep splat")
    Reported-by: syzbot <syzkaller@googlegroups.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4b52c3170bd82bb905531c3f745be9f64f6af9ba
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Nov 7 16:05:24 2017 +0100

    ALSA: seq: Fix OSS sysex delivery in OSS emulation
    
    commit 132d358b183ac6ad8b3fea32ad5e0663456d18d1 upstream.
    
    The SYSEX event delivery in OSS sequencer emulation assumed that the
    event is encoded in the variable-length data with the straight
    buffering.  This was the normal behavior in the past, but during the
    development, the chained buffers were introduced for carrying more
    data, while the OSS code was left intact.  As a result, when a SYSEX
    event with the chained buffer data is passed to OSS sequencer port,
    it may end up with the wrong memory access, as if it were having a too
    large buffer.
    
    This patch addresses the bug, by applying the buffer data expansion by
    the generic snd_seq_dump_var_event() helper function.
    
    Reported-by: syzbot <syzkaller@googlegroups.com>
    Reported-by: Mark Salyzyn <salyzyn@android.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1541afbfb4a250e6b571801d85c834e2880834b2
Author: Mark Rutland <mark.rutland@arm.com>
Date:   Thu Nov 2 18:44:28 2017 +0100

    ARM: 8720/1: ensure dump_instr() checks addr_limit
    
    commit b9dd05c7002ee0ca8b676428b2268c26399b5e31 upstream.
    
    When CONFIG_DEBUG_USER is enabled, it's possible for a user to
    deliberately trigger dump_instr() with a chosen kernel address.
    
    Let's avoid problems resulting from this by using get_user() rather than
    __get_user(), ensuring that we don't erroneously access kernel memory.
    
    So that we can use the same code to dump user instructions and kernel
    instructions, the common dumping code is factored out to __dump_instr(),
    with the fs manipulated appropriately in dump_instr() around calls to
    this.
    
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8ea52a683f816d65c1c89b78c500814f6e06a01d
Author: Eric Biggers <ebiggers@google.com>
Date:   Tue Nov 7 22:29:02 2017 +0000

    KEYS: fix NULL pointer dereference during ASN.1 parsing [ver #2]
    
    commit 624f5ab8720b3371367327a822c267699c1823b8 upstream.
    
    syzkaller reported a NULL pointer dereference in asn1_ber_decoder().  It
    can be reproduced by the following command, assuming
    CONFIG_PKCS7_TEST_KEY=y:
    
            keyctl add pkcs7_test desc '' @s
    
    The bug is that if the data buffer is empty, an integer underflow occurs
    in the following check:
    
            if (unlikely(dp >= datalen - 1))
                    goto data_overrun_error;
    
    This results in the NULL data pointer being dereferenced.
    
    Fix it by checking for 'datalen - dp < 2' instead.
    
    Also fix the similar check for 'dp >= datalen - n' later in the same
    function.  That one possibly could result in a buffer overread.
    
    The NULL pointer dereference was reproducible using the "pkcs7_test" key
    type but not the "asymmetric" key type because the "asymmetric" key type
    checks for a 0-length payload before calling into the ASN.1 decoder but
    the "pkcs7_test" key type does not.
    
    The bug report was:
    
        BUG: unable to handle kernel NULL pointer dereference at           (null)
        IP: asn1_ber_decoder+0x17f/0xe60 lib/asn1_decoder.c:233
        PGD 7b708067 P4D 7b708067 PUD 7b6ee067 PMD 0
        Oops: 0000 [#1] SMP
        Modules linked in:
        CPU: 0 PID: 522 Comm: syz-executor1 Not tainted 4.14.0-rc8 #7
        Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.3-20171021_125229-anatol 04/01/2014
        task: ffff9b6b3798c040 task.stack: ffff9b6b37970000
        RIP: 0010:asn1_ber_decoder+0x17f/0xe60 lib/asn1_decoder.c:233
        RSP: 0018:ffff9b6b37973c78 EFLAGS: 00010216
        RAX: 0000000000000000 RBX: 0000000000000000 RCX: 000000000000021c
        RDX: ffffffff814a04ed RSI: ffffb1524066e000 RDI: ffffffff910759e0
        RBP: ffff9b6b37973d60 R08: 0000000000000001 R09: ffff9b6b3caa4180
        R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002
        R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
        FS:  00007f10ed1f2700(0000) GS:ffff9b6b3ea00000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: 0000000000000000 CR3: 000000007b6f3000 CR4: 00000000000006f0
        Call Trace:
         pkcs7_parse_message+0xee/0x240 crypto/asymmetric_keys/pkcs7_parser.c:139
         verify_pkcs7_signature+0x33/0x180 certs/system_keyring.c:216
         pkcs7_preparse+0x41/0x70 crypto/asymmetric_keys/pkcs7_key_type.c:63
         key_create_or_update+0x180/0x530 security/keys/key.c:855
         SYSC_add_key security/keys/keyctl.c:122 [inline]
         SyS_add_key+0xbf/0x250 security/keys/keyctl.c:62
         entry_SYSCALL_64_fastpath+0x1f/0xbe
        RIP: 0033:0x4585c9
        RSP: 002b:00007f10ed1f1bd8 EFLAGS: 00000216 ORIG_RAX: 00000000000000f8
        RAX: ffffffffffffffda RBX: 00007f10ed1f2700 RCX: 00000000004585c9
        RDX: 0000000020000000 RSI: 0000000020008ffb RDI: 0000000020008000
        RBP: 0000000000000000 R08: ffffffffffffffff R09: 0000000000000000
        R10: 0000000000000000 R11: 0000000000000216 R12: 00007fff1b2260ae
        R13: 00007fff1b2260af R14: 00007f10ed1f2700 R15: 0000000000000000
        Code: dd ca ff 48 8b 45 88 48 83 e8 01 4c 39 f0 0f 86 a8 07 00 00 e8 53 dd ca ff 49 8d 46 01 48 89 85 58 ff ff ff 48 8b 85 60 ff ff ff <42> 0f b6 0c 30 89 c8 88 8d 75 ff ff ff 83 e0 1f 89 8d 28 ff ff
        RIP: asn1_ber_decoder+0x17f/0xe60 lib/asn1_decoder.c:233 RSP: ffff9b6b37973c78
        CR2: 0000000000000000
    
    Fixes: 42d5ec27f873 ("X.509: Add an ASN.1 decoder")
    Reported-by: syzbot <syzkaller@googlegroups.com>
    Signed-off-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: James Morris <james.l.morris@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2822bbb53269eec5d2cc1b39c236ca5c5e20c59e
Author: Andrey Ryabinin <aryabinin@virtuozzo.com>
Date:   Mon Oct 16 18:51:30 2017 +0300

    crypto: x86/sha256-mb - fix panic due to unaligned access
    
    commit 5dfeaac15f2b1abb5a53c9146041c7235eb9aa04 upstream.
    
    struct sha256_ctx_mgr allocated in sha256_mb_mod_init() via kzalloc()
    and later passed in sha256_mb_flusher_mgr_flush_avx2() function where
    instructions vmovdqa used to access the struct. vmovdqa requires
    16-bytes aligned argument, but nothing guarantees that struct
    sha256_ctx_mgr will have that alignment. Unaligned vmovdqa will
    generate GP fault.
    
    Fix this by replacing vmovdqa with vmovdqu which doesn't have alignment
    requirements.
    
    Fixes: a377c6b1876e ("crypto: sha256-mb - submit/flush routines for AVX2")
    Reported-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
    Acked-by: Tim Chen
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ca6c028e2fe40488b28e7776f99a5d06f454a4a4
Author: Andrey Ryabinin <aryabinin@virtuozzo.com>
Date:   Mon Oct 16 18:51:31 2017 +0300

    crypto: x86/sha1-mb - fix panic due to unaligned access
    
    commit d041b557792c85677f17e08eee535eafbd6b9aa2 upstream.
    
    struct sha1_ctx_mgr allocated in sha1_mb_mod_init() via kzalloc()
    and later passed in sha1_mb_flusher_mgr_flush_avx2() function where
    instructions vmovdqa used to access the struct. vmovdqa requires
    16-bytes aligned argument, but nothing guarantees that struct
    sha1_ctx_mgr will have that alignment. Unaligned vmovdqa will
    generate GP fault.
    
    Fix this by replacing vmovdqa with vmovdqu which doesn't have alignment
    requirements.
    
    Fixes: 2249cbb53ead ("crypto: sha-mb - SHA1 multibuffer submit and flush routines for AVX2")
    Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 58ed8a47e450310a673c20a10153d0c5cddfaa08
Author: Romain Izard <romain.izard.pro@gmail.com>
Date:   Tue Oct 31 15:42:35 2017 +0100

    crypto: ccm - preserve the IV buffer
    
    commit 441f99c90497e15aa3ad1dbabd56187e29614348 upstream.
    
    The IV buffer used during CCM operations is used twice, during both the
    hashing step and the ciphering step.
    
    When using a hardware accelerator that updates the contents of the IV
    buffer at the end of ciphering operations, the value will be modified.
    In the decryption case, the subsequent setup of the hashing algorithm
    will interpret the updated IV instead of the original value, which can
    lead to out-of-bounds writes.
    
    Reuse the idata buffer, only used in the hashing step, to preserve the
    IV's value during the ciphering step in the decryption case.
    
    Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>
    Reviewed-by: Tudor Ambarus <tudor.ambarus@microchip.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 46f15501c5b7debd6aa952de754f13de17fadb8b
Author: Li Bin <huawei.libin@huawei.com>
Date:   Sat Oct 28 11:07:28 2017 +0800

    workqueue: Fix NULL pointer dereference
    
    commit cef572ad9bd7f85035ba8272e5352040e8be0152 upstream.
    
    When queue_work() is used in irq (not in task context), there is
    a potential case that trigger NULL pointer dereference.
    ----------------------------------------------------------------
    worker_thread()
    |-spin_lock_irq()
    |-process_one_work()
            |-worker->current_pwq = pwq
            |-spin_unlock_irq()
            |-worker->current_func(work)
            |-spin_lock_irq()
            |-worker->current_pwq = NULL
    |-spin_unlock_irq()
    
                                    //interrupt here
                                    |-irq_handler
                                            |-__queue_work()
                                                    //assuming that the wq is draining
                                                    |-is_chained_work(wq)
                                                            |-current_wq_worker()
                                                            //Here, 'current' is the interrupted worker!
                                                                    |-current->current_pwq is NULL here!
    |-schedule()
    ----------------------------------------------------------------
    
    Avoid it by checking for task context in current_wq_worker(), and
    if not in task context, we shouldn't use the 'current' to check the
    condition.
    
    Reported-by: Xiaofei Tan <tanxiaofei@huawei.com>
    Signed-off-by: Li Bin <huawei.libin@huawei.com>
    Reviewed-by: Lai Jiangshan <jiangshanlai@gmail.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Fixes: 8d03ecfe4718 ("workqueue: reimplement is_chained_work() using current_wq_worker()")
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2715f6841a08a016c188a810fdb6fbae06c150a4
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Tue Nov 22 10:57:15 2016 +0100

    x86/uaccess, sched/preempt: Verify access_ok() context
    
    commit 7c4788950ba5922fde976d80b72baf46f14dee8d upstream.
    
    I recently encountered wreckage because access_ok() was used where it
    should not be, add an explicit WARN when access_ok() is used wrongly.
    
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 07e415ac5ca1161d078cc02348dd0df58d88679b
Author: Carlo Caione <carlo@endlessm.com>
Date:   Wed Apr 19 22:36:39 2017 +0200

    platform/x86: hp-wmi: Do not shadow error values
    
    commit d313876925f3e7a480a02773fd333bcab9202d5e upstream.
    
    All the helper functions (i.e. hp_wmi_dock_state, hp_wmi_tablet_state,
    ...) using hp_wmi_perform_query to perform an HP WMI query shadow the
    returned value in case of error.
    
    We return -EINVAL only when the HP WMI query returns a positive value
    (the specific error code) to not mix this up with the actual value
    returned by the helper function.
    
    Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Carlo Caione <carlo@endlessm.com>
    Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
    Cc: Philip Müller <philm@manjaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0a18a94af43f934e00b438d466996c37769d5daf
Author: Carlo Caione <carlo@endlessm.com>
Date:   Sun Apr 9 15:56:07 2017 +0200

    platform/x86: hp-wmi: Fix error value for hp_wmi_tablet_state
    
    commit c7dfc2facbd69dad89b75e13c608da709668dcd0 upstream.
    
    hp_wmi_tablet_state() fails to return the correct error code when
    hp_wmi_perform_query() returns the HP WMI query specific error code
    that is a positive value.
    
    Signed-off-by: Carlo Caione <carlo@endlessm.com>
    Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
    Cc: Philip Müller <philm@manjaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 419ec342d312197f0f570a52f237915fb92c8826
Author: Eric Biggers <ebiggers@google.com>
Date:   Thu Nov 2 00:47:12 2017 +0000

    KEYS: trusted: fix writing past end of buffer in trusted_read()
    
    commit a3c812f7cfd80cf51e8f5b7034f7418f6beb56c1 upstream.
    
    When calling keyctl_read() on a key of type "trusted", if the
    user-supplied buffer was too small, the kernel ignored the buffer length
    and just wrote past the end of the buffer, potentially corrupting
    userspace memory.  Fix it by instead returning the size required, as per
    the documentation for keyctl_read().
    
    We also don't even fill the buffer at all in this case, as this is
    slightly easier to implement than doing a short read, and either
    behavior appears to be permitted.  It also makes it match the behavior
    of the "encrypted" key type.
    
    Fixes: d00a1c72f7f4 ("keys: add new trusted key-type")
    Reported-by: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Reviewed-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
    Reviewed-by: James Morris <james.l.morris@oracle.com>
    Signed-off-by: James Morris <james.l.morris@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 64a234537a8850aeba8fa65b1bf81d04bc5ae946
Author: Eric Biggers <ebiggers@google.com>
Date:   Thu Jun 8 14:49:18 2017 +0100

    KEYS: trusted: sanitize all key material
    
    commit ee618b4619b72527aaed765f0f0b74072b281159 upstream.
    
    As the previous patch did for encrypted-keys, zero sensitive any
    potentially sensitive data related to the "trusted" key type before it
    is freed.  Notably, we were not zeroing the tpm_buf structures in which
    the actual key is stored for TPM seal and unseal, nor were we zeroing
    the trusted_key_payload in certain error paths.
    
    Cc: Mimi Zohar <zohar@linux.vnet.ibm.com>
    Cc: David Safford <safford@us.ibm.com>
    Signed-off-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: James Morris <james.l.morris@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bddc61e7732be12d2f09391a2434253d9cb34f52
Author: Enrico Mioso <mrkiko.rs@gmail.com>
Date:   Tue Jul 11 17:21:52 2017 +0200

    cdc_ncm: Set NTB format again after altsetting switch for Huawei devices
    
    commit 2b02c20ce0c28974b44e69a2e2f5ddc6a470ad6f upstream.
    
    Some firmwares in Huawei E3372H devices have been observed to switch back
    to NTB 32-bit format after altsetting switch.
    This patch implements a driver flag to check for the device settings and
    set NTB format to 16-bit again if needed.
    The flag has been activated for devices controlled by the huawei_cdc_ncm.c
    driver.
    
    V1->V2:
    - fixed broken error checks
    - some corrections to the commit message
    V2->V3:
    - variable name changes, to clarify what's happening
    - check (and possibly set) the NTB format later in the common bind code path
    
    Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
    Reported-and-tested-by: Christian Panton <christian@panton.org>
    Reviewed-by: Bjørn Mork <bjorn@mork.no>
    CC: Bjørn Mork <bjorn@mork.no>
    CC: Christian Panton <christian@panton.org>
    CC: linux-usb@vger.kernel.org
    CC: netdev@vger.kernel.org
    CC: Oliver Neukum <oliver@neukum.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Cc: Porto Rio <porto.rio@gmx.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 047b67372d7bff1822db5bf66258fb18a50b3075
Author: Carlo Caione <carlo@endlessm.com>
Date:   Sun Apr 9 15:56:08 2017 +0200

    platform/x86: hp-wmi: Fix detection for dock and tablet mode
    
    commit 298747b7579f5bbbced793d997b333fd10a24921 upstream.
    
    The current driver code is not checking for the error values returned by
    'hp_wmi_dock_state()' and 'hp_wmi_tablet_state()' before passing the
    returned values down to 'input_report_switch()'. This error code is
    being translated to '1' in the input subsystem, reporting the wrong
    status.
    
    The biggest problem caused by this issue is that several laptops are
    wrongly reported by the driver as docked, preventing them to be put to
    sleep using the LID (and in most cases they are not even dockable).
    
    With this patch we create the report switches only if we are able to
    read the dock and tablet mode status correctly from ACPI.
    
    Signed-off-by: Carlo Caione <carlo@endlessm.com>
    Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
    Cc: Philip Müller <philm@manjaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0e1cfde447fe6f879e5a4be0a5fcca1f616948d1
Author: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Date:   Mon Jan 9 16:49:26 2017 -0500

    net: dsa: select NET_SWITCHDEV
    
    
    [ Upstream commit 3a89eaa65db68bf53bf92dedc60084f810e1779a ]
    
    The support for DSA Ethernet switch chips depends on TCP/IP networking,
    thus explicit that HAVE_NET_DSA depends on INET.
    
    DSA uses SWITCHDEV, thus select it instead of depending on it.
    
    Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Tested-by: Randy Dunlap <rdunlap@infradead.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fa8f3a67b9a82d82caf4dd2cca19cd9762cf54a5
Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date:   Thu Dec 22 13:08:14 2016 +0100

    clk: mvebu: adjust AP806 CPU clock frequencies to production chip
    
    
    [ Upstream commit 0c70ffc5f300e7c3a1a76ca0530860574afc890b ]
    
    This commit adjusts the list of possible "Sample At Reset" values that
    define the CPU clock frequency of the AP806 (part of Marvell Armada
    7K/8K) to the values that have been validated with the production
    chip. Earlier values were preliminary.
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
    Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 326ef0fd4fb2d4a494ff87cb5971cf38ebf8c97b
Author: Bart Van Assche <bart.vanassche@sandisk.com>
Date:   Tue Jan 10 11:15:52 2017 -0800

    IB/rxe: Fix reference leaks in memory key invalidation code
    
    
    [ Upstream commit ab17654476a11a1ed7d89f1104e2acdb7ed1c9ed ]
    
    Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
    Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
    Reviewed-by: Andrew Boyer <andrew.boyer@dell.com>
    Cc: Moni Shoua <monis@mellanox.com>
    Signed-off-by: Doug Ledford <dledford@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 93e1956dddf5bfea3a4de0da63f06a2a950965e6
Author: Bjorn Andersson <bjorn.andersson@linaro.org>
Date:   Wed Jan 11 16:32:21 2017 +0200

    wcn36xx: Don't use the destroyed hal_mutex
    
    
    [ Upstream commit d53628882255481b710641dd0118fbd80af6e983 ]
    
    ieee80211_unregister_hw() might invoke operations to stop the interface,
    that uses the hal_mutex. So don't destroy it until after we're done
    using it.
    
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 72eff92d84f089223e2e97bf2fd9807391c4b9c0
Author: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Date:   Thu Jan 12 15:48:42 2017 +0100

    s390/qeth: issue STARTLAN as first IPA command
    
    
    [ Upstream commit 1034051045d125579ab1e8fcd5a724eeb0e70149 ]
    
    STARTLAN needs to be the first IPA command after MPC initialization
    completes.
    So move the qeth_send_startlan() call from the layer disciplines
    into the core path, right after the MPC handshake.
    While at it, replace the magic LAN OFFLINE return code
    with the existing enum.
    
    Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
    Reviewed-by: Thomas Richter <tmricht@linux.vnet.ibm.com>
    Reviewed-by: Ursula Braun <ubraun@linux.vnet.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c4d567ef164eefc7b5fbae1a634b160faee6cbf7
Author: Ursula Braun <ubraun@linux.vnet.ibm.com>
Date:   Thu Jan 12 15:48:43 2017 +0100

    s390/qeth: fix retrieval of vipa and proxy-arp addresses
    
    
    [ Upstream commit e48b9eaaa29a0a7d5da2df136b07eefa0180d584 ]
    
    qeth devices in layer3 mode need a separate handling of vipa and proxy-arp
    addresses. vipa and proxy-arp addresses processed by qeth can be read from
    userspace. Introduced with commit 5f78e29ceebf ("qeth: optimize IP handling
    in rx_mode callback") the retrieval of vipa and proxy-arp addresses is
    broken, if more than one vipa or proxy-arp address are set.
    
    The qeth code used local variable "int i" for 2 different purposes. This
    patch now spends 2 separate local variables of type "int".
    While touching these functions hash_for_each_safe() is converted to
    hash_for_each(), since there is no removal of hash entries.
    
    Signed-off-by: Ursula Braun <ubraun@linux.vnet.ibm.com>
    Reviewed-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
    Reference-ID: RQM 3524
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e793ad50d151c482b38e4e8851ff66c2a86e089b
Author: Patrice Chotard <patrice.chotard@st.com>
Date:   Fri Jan 6 14:30:21 2017 +0100

    ARM: dts: STiH410-family: fix wrong parent clock frequency
    
    
    [ Upstream commit b9ec866d223f38eb0bf2a7c836e10031ee17f7af ]
    
    The clock parent was lower than child clock which is not correct.
    In some use case, it leads to division by zero.
    
    Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d369bba84410d7c141226bfbbdd2c7be5d97d8f9
Author: Feras Daoud <ferasda@mellanox.com>
Date:   Wed Dec 28 14:47:28 2016 +0200

    IB/ipoib: Change list_del to list_del_init in the tx object
    
    
    [ Upstream commit 27d41d29c7f093f6f77843624fbb080c1b4a8b9c ]
    
    Since ipoib_cm_tx_start function and ipoib_cm_tx_reap function
    belong to different work queues, they can run in parallel.
    In this case if ipoib_cm_tx_reap calls list_del and release the
    lock, ipoib_cm_tx_start may acquire it and call list_del_init
    on the already deleted object.
    Changing list_del to list_del_init in ipoib_cm_tx_reap fixes the problem.
    
    Fixes: 839fcaba355a ("IPoIB: Connected mode experimental support")
    Signed-off-by: Feras Daoud <ferasda@mellanox.com>
    Signed-off-by: Erez Shitrit <erezsh@mellanox.com>
    Reviewed-by: Alex Vesker <valex@mellanox.com>
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
    Signed-off-by: Doug Ledford <dledford@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8b93cbd12547f5cc01b676d3316342b7ffc7061f
Author: Frederic Weisbecker <fweisbec@gmail.com>
Date:   Thu Jan 5 18:11:41 2017 +0100

    sched/cputime, powerpc32: Fix stale scaled stime on context switch
    
    
    [ Upstream commit 90d08ba2b9b4be4aeca6a5b5a4b09fbcde30194d ]
    
    On context switch with powerpc32, the cputime is accumulated in the
    thread_info struct. So the switching-in task must move forward its
    start time snapshot to the current time in order to later compute the
    delta spent in system mode.
    
    This is what we do for the normal cputime by initializing the starttime
    field to the value of the previous task's starttime which got freshly
    updated.
    
    But we are missing the update of the scaled cputime start time. As a
    result we may be accounting too much scaled cputime later.
    
    Fix this by initializing the scaled cputime the same way we do for
    normal cputime.
    
    Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
    Acked-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Christian Borntraeger <borntraeger@de.ibm.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Stanislaw Gruszka <sgruszka@redhat.com>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Wanpeng Li <wanpeng.li@hotmail.com>
    Link: http://lkml.kernel.org/r/1483636310-6557-2-git-send-email-fweisbec@gmail.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a3a76ea2c072dda34d1ad1e5bf40cdfa51157e35
Author: Akinobu Mita <akinobu.mita@gmail.com>
Date:   Sun Jan 15 14:44:05 2017 -0800

    Input: mpr121 - set missing event capability
    
    
    [ Upstream commit 9723ddc8fe0d76ce41fe0dc16afb241ec7d0a29d ]
    
    This driver reports misc scan input events on the sensor's status
    register changes.  But the event capability for them was not set in the
    device initialization, so these events were ignored.
    
    This change adds the missing event capability.
    
    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 260e2e82c247a6f8601f3546b6f05c55b6dc0734
Author: Akinobu Mita <akinobu.mita@gmail.com>
Date:   Sun Jan 15 14:44:30 2017 -0800

    Input: mpr121 - handle multiple bits change of status register
    
    
    [ Upstream commit 08fea55e37f58371bffc5336a59e55d1f155955a ]
    
    This driver reports input events on their interrupts which are triggered
    by the sensor's status register changes.  But only single bit change is
    reported in the interrupt handler.  So if there are multiple bits are
    changed at almost the same time, other press or release events are ignored.
    
    This fixes it by detecting all changed bits in the status register.
    
    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0ddb64c1485668f0866892903e0218a838173b49
Author: Heiko Carstens <heiko.carstens@de.ibm.com>
Date:   Thu Dec 29 13:52:52 2016 +0100

    s390/topology: make "topology=off" parameter work
    
    
    [ Upstream commit 68cc795d1933285705ced6d841ef66c00ce98cbe ]
    
    The "topology=off" kernel parameter is supposed to prevent the kernel
    to use hardware topology information to generate scheduling domains
    etc.
    For an unknown reason I implemented this in a very odd way back then:
    instead of simply clearing the MACHINE_HAS_TOPOLOGY flag within the
    lowcore I added a second variable which indicated that topology
    information should not be used. This is more than suboptimal since it
    partially doesn't work.  For the fake NUMA case topology information
    is still considered and scheduling domains will be created based on
    this.
    To fix this and to simplify the code get rid of the extra variable and
    implement the "topology=off" case like it is done for other features.
    
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8b45f832b33bce58fcad1632a794eee8eac4ce44
Author: Yazen Ghannam <Yazen.Ghannam@amd.com>
Date:   Fri Jan 13 09:52:19 2017 -0600

    EDAC, amd64: Save and return err code from probe_one_instance()
    
    
    [ Upstream commit 2287c63643f0f52d9d5452b9dc4079aec0889fe8 ]
    
    We should save the return code from probe_one_instance() so that it can
    be returned from the module init function. Otherwise, we'll be returning
    the -ENOMEM from above.
    
    Signed-off-by: Yazen Ghannam <Yazen.Ghannam@amd.com>
    Cc: linux-edac <linux-edac@vger.kernel.org>
    Link: http://lkml.kernel.org/r/1484322741-41884-1-git-send-email-Yazen.Ghannam@amd.com
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e41c105195ca7577154af8942b4f19301d4cb961
Author: Gilad Ben-Yossef <gilad@benyossef.com>
Date:   Mon Jan 16 13:17:55 2017 +0200

    IPsec: do not ignore crypto err in ah4 input
    
    
    [ Upstream commit ebd89a2d0675f1325c2be5b7576fd8cb7e8defd0 ]
    
    ah4 input processing uses the asynchronous hash crypto API which
    supplies an error code as part of the operation completion but
    the error code was being ignored.
    
    Treat a crypto API error indication as a verification failure.
    
    While a crypto API reported error would almost certainly result
    in a memcpy of the digest failing anyway and thus the security
    risk seems minor, performing a memory compare on what might be
    uninitialized memory is wrong.
    
    Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
    Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ab71bee531fd7f760fc919a3fa8801261f91b4c8
Author: John Johansen <john.johansen@canonical.com>
Date:   Mon Jan 16 13:21:27 2017 -0800

    apparmor: fix undefined reference to `aa_g_hash_policy'
    
    
    [ Upstream commit 3ccb76c5dfe0d25c1d0168d5b726d0b43d19a485 ]
    
    The kernel build bot turned up a bad config combination when
    CONFIG_SECURITY_APPARMOR is y and CONFIG_SECURITY_APPARMOR_HASH is n,
    resulting in the build error
       security/built-in.o: In function `aa_unpack':
       (.text+0x841e2): undefined reference to `aa_g_hash_policy'
    
    Signed-off-by: John Johansen <john.johansen@canonical.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c944dc7aedfbff5a4fd2fd666442d8d267292ec4
Author: Stanislaw Gruszka <sgruszka@redhat.com>
Date:   Fri Jan 6 14:05:16 2017 +0100

    rt2800usb: mark tx failure on timeout
    
    
    [ Upstream commit 1701221696764b6861d0ee66850812a8900b9b9b ]
    
    If we do not get TX status in reasonable time, we most likely fail to
    send frame hence mark it as so.
    
    Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit be5125d4fa9e5280b061195251cd581822f0faa2
Author: Rafał Miłecki <rafal@milecki.pl>
Date:   Sat Jan 7 21:36:05 2017 +0100

    brcmfmac: setup wiphy bands after registering it first
    
    
    [ Upstream commit ab99063f873749b3c3b1e5d44038559883465e74 ]
    
    During bands setup we disable all channels that firmware doesn't support
    in the current regulatory setup. If we do this before wiphy_register
    it will result in copying set flags (including IEEE80211_CHAN_DISABLED)
    to the orig_flags which is supposed to be persistent. We don't want this
    as regulatory change may result in enabling some channels. We shouldn't
    mess with orig_flags then (by changing them or ignoring them) so it's
    better to just take care of their proper values.
    
    This patch cleanups code a bit (by taking orig_flags more seriously) and
    allows further improvements like disabling really unavailable channels.
    We will need that e.g. if some frequencies should be disabled for good
    due to hardware setup (design).
    
    Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
    Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c5493c6e4a6ac9f0ce5bd95ea16d2867d1c89c76
Author: Liping Zhang <zlpnobody@gmail.com>
Date:   Sat Jan 7 21:33:55 2017 +0800

    netfilter: nft_meta: deal with PACKET_LOOPBACK in netdev family
    
    
    [ Upstream commit f169fd695b192dd7b23aff8e69d25a1bc881bbfa ]
    
    After adding the following nft rule, then ping 224.0.0.1:
      # nft add rule netdev t c pkttype host counter
    
    The warning complain message will be printed out again and again:
      WARNING: CPU: 0 PID: 10182 at net/netfilter/nft_meta.c:163 \
               nft_meta_get_eval+0x3fe/0x460 [nft_meta]
      [...]
      Call Trace:
      <IRQ>
      dump_stack+0x85/0xc2
      __warn+0xcb/0xf0
      warn_slowpath_null+0x1d/0x20
      nft_meta_get_eval+0x3fe/0x460 [nft_meta]
      nft_do_chain+0xff/0x5e0 [nf_tables]
    
    So we should deal with PACKET_LOOPBACK in netdev family too. For ipv4,
    convert it to PACKET_BROADCAST/MULTICAST according to the destination
    address's type; For ipv6, convert it to PACKET_MULTICAST directly.
    
    Signed-off-by: Liping Zhang <zlpnobody@gmail.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a7eba17c44f38683e5544405670cb39807e76e1e
Author: William wu <wulf@rock-chips.com>
Date:   Fri Jan 13 11:04:22 2017 +0800

    usb: hcd: initialize hcd->flags to 0 when rm hcd
    
    
    [ Upstream commit 76b8db0d480e8045e1a1902fc9ab143b3b9ef115 ]
    
    On some platforms(e.g. rk3399 board), we can call hcd_add/remove
    consecutively without calling usb_put_hcd/usb_create_hcd in between,
    so hcd->flags can be stale.
    
    If the HC dies due to whatever reason then without this patch we get
    the below error on next hcd_add.
    
    [173.296154] xhci-hcd xhci-hcd.2.auto: HC died; cleaning up
    [173.296209] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
    [173.296762] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 6
    [173.296931] usb usb6: We don't know the algorithms for LPM for this host, disabling LPM.
    [173.297179] usb usb6: New USB device found, idVendor=1d6b, idProduct=0003
    [173.297203] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [173.297222] usb usb6: Product: xHCI Host Controller
    [173.297240] usb usb6: Manufacturer: Linux 4.4.21 xhci-hcd
    [173.297257] usb usb6: SerialNumber: xhci-hcd.2.auto
    [173.298680] hub 6-0:1.0: USB hub found
    [173.298749] hub 6-0:1.0: 1 port detected
    [173.299382] rockchip-dwc3 usb@fe800000: USB HOST connected
    [173.395418] hub 5-0:1.0: activate --> -19
    [173.603447] irq 228: nobody cared (try booting with the "irqpoll" option)
    [173.603493] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.21 #9
    [173.603513] Hardware name: Google Kevin (DT)
    [173.603531] Call trace:
    [173.603568] [<ffffffc0002087dc>] dump_backtrace+0x0/0x160
    [173.603596] [<ffffffc00020895c>] show_stack+0x20/0x28
    [173.603623] [<ffffffc0004b28a8>] dump_stack+0x90/0xb0
    [173.603650] [<ffffffc00027347c>] __report_bad_irq+0x48/0xe8
    [173.603674] [<ffffffc0002737cc>] note_interrupt+0x1e8/0x28c
    [173.603698] [<ffffffc000270a38>] handle_irq_event_percpu+0x1d4/0x25c
    [173.603722] [<ffffffc000270b0c>] handle_irq_event+0x4c/0x7c
    [173.603748] [<ffffffc00027456c>] handle_fasteoi_irq+0xb4/0x124
    [173.603777] [<ffffffc00026fe3c>] generic_handle_irq+0x30/0x44
    [173.603804] [<ffffffc0002701a8>] __handle_domain_irq+0x90/0xbc
    [173.603827] [<ffffffc0002006f4>] gic_handle_irq+0xcc/0x188
    ...
    [173.604500] [<ffffffc000203700>] el1_irq+0x80/0xf8
    [173.604530] [<ffffffc000261388>] cpu_startup_entry+0x38/0x3cc
    [173.604558] [<ffffffc00090f7d8>] rest_init+0x8c/0x94
    [173.604585] [<ffffffc000e009ac>] start_kernel+0x3d0/0x3fc
    [173.604607] [<0000000000b16000>] 0xb16000
    [173.604622] handlers:
    [173.604648] [<ffffffc000642084>] usb_hcd_irq
    [173.604673] Disabling IRQ #228
    
    Signed-off-by: William wu <wulf@rock-chips.com>
    Acked-by: Roger Quadros <rogerq@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 397b6e5d7bbe23ee8f0973b42fc273940e3bd0d1
Author: Pan Bian <bianpan2016@163.com>
Date:   Sat Dec 3 18:27:37 2016 +0800

    libertas: fix improper return value
    
    
    [ Upstream commit 259010c509b6f28b3b851ae45238cf526f52e185 ]
    
    Function lbs_cmd_802_11_sleep_params() always return 0, even if the call
    to lbs_cmd_with_response() fails. In this case, the parameter @sp will
    keep uninitialized. Because the return value is 0, its caller (say
    lbs_sleepparams_read()) will not detect the error, and will copy the
    uninitialized stack memory to user sapce, resulting in stack information
    leak. To avoid the bug, this patch returns variable ret (which takes
    the return value of lbs_cmd_with_response()) instead of 0.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188451
    
    Signed-off-by: Pan Bian <bianpan2016@163.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2ae9f47ce114680dbbc2c56b00ed85eade4f6328
Author: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Date:   Wed Jan 11 16:43:32 2017 +0200

    serial: sh-sci: Fix register offsets for the IRDA serial port
    
    
    [ Upstream commit a752ba18af8285e3eeda572f40dddaebff0c3621 ]
    
    Even though most of its registers are 8-bit wide, the IRDA has two
    16-bit registers that make it a 16-bit peripheral and not a 8-bit
    peripheral with addresses shifted by one. Fix the registers offset in
    the driver and the platform data regshift value.
    
    Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a88a90128888dba8754db5a194dba84e9703b93f
Author: Volodymyr Bendiuga <volodymyr.bendiuga@gmail.com>
Date:   Thu Jan 19 17:05:04 2017 +0100

    phy: increase size of MII_BUS_ID_SIZE and bus_id
    
    
    [ Upstream commit 4567d686f5c6d955e57a3afa1741944c1e7f4033 ]
    
    Some bus names are pretty long and do not fit into
    17 chars. Increase therefore MII_BUS_ID_SIZE and
    phy_fixup.bus_id to larger number. Now mii_bus.id
    can host larger name.
    
    Signed-off-by: Volodymyr Bendiuga <volodymyr.bendiuga@gmail.com>
    Signed-off-by: Magnus Öberg <magnus.oberg@westermo.se>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 04e13a5ec96db94c1cc8ce7b0b1e1b626e0c00c7
Author: David Lechner <david@lechnology.com>
Date:   Fri Jan 13 13:03:39 2017 -0600

    dt-bindings: Add vendor prefix for LEGO
    
    
    [ Upstream commit 7dcc31e2e68a386a29070384b51683ece80982bf ]
    
    Add a vendor prefix for LEGO Systems A/S
    
    Acked-by: Rob Herring <robh@kernel.org>
    Signed-off-by: David Lechner <david@lechnology.com>
    Signed-off-by: Sekhar Nori <nsekhar@ti.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 852bf68b7a62195c3c0c63f3b11f3f30958fc220
Author: David Lechner <david@lechnology.com>
Date:   Fri Jan 13 13:03:40 2017 -0600

    dt-bindings: Add LEGO MINDSTORMS EV3 compatible specification
    
    
    [ Upstream commit 21078ab174c99885ca83a5c32db0d33b1617745e ]
    
    This adds the board level device tree specification for LEGO MINDSTORMS EV3
    
    Acked-by: Rob Herring <robh@kernel.org>
    Signed-off-by: David Lechner <david@lechnology.com>
    Signed-off-by: Sekhar Nori <nsekhar@ti.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f89e669323adfc43ac881f7c38904c911140f983
Author: Alison Schofield <amsfield22@gmail.com>
Date:   Fri Jan 20 14:11:30 2017 -0800

    iio: proximity: sx9500: claim direct mode during raw proximity reads
    
    
    [ Upstream commit 6b2e7589b82ff534dd5c6d67dd83c53f13691bec ]
    
    Driver was checking for direct mode but not locking it.  Use the
    claim/release helper functions to guarantee the device stays in
    direct mode during raw reads of proximity data.
    
    Signed-off-by: Alison Schofield <amsfield22@gmail.com>
    Reviewed-by: Vlad Dogaru <ddvlad@gmail.com>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6d8897645b984fee86d260b1b0ad7044b27e6d59
Author: Alison Schofield <amsfield22@gmail.com>
Date:   Fri Jan 20 12:39:32 2017 -0800

    iio: magnetometer: mag3110: claim direct mode during raw writes
    
    
    [ Upstream commit 80dea21f95a4672cce545f48dc2ca500b69a2584 ]
    
    Driver was checking for direct mode but not locking it.  Use
    claim/release helper functions to guarantee the device stays
    in direct mode during raw writes.
    
    Signed-off-by: Alison Schofield <amsfield22@gmail.com>
    Acked-by: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 87e4965cec6156351892ecf45251c8dec03cc752
Author: Alison Schofield <amsfield22@gmail.com>
Date:   Fri Jan 20 12:22:58 2017 -0800

    iio: pressure: ms5611: claim direct mode during oversampling changes
    
    
    [ Upstream commit 3bc1abcddb24f55b9c251e03caa4f9bd22ff748b ]
    
    Driver was checking for direct mode before changing oversampling
    ratios, but was not locking it.  Use the claim/release helper
    functions to guarantee the device stays in direct mode while the
    oversampling ratios are being updated.  Continue to use the drivers
    private state lock to protect against conflicting direct mode access
    of the state data.
    
    Signed-off-by: Alison Schofield <amsfield22@gmail.com>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 19d0541bd2c22a1413017465069f4aa4cae00b43
Author: Alison Schofield <amsfield22@gmail.com>
Date:   Thu Jan 19 19:47:38 2017 -0800

    iio: trigger: free trigger resource correctly
    
    
    [ Upstream commit 10e840dfb0b7fc345082dd9e5fff3c1c02e7690e ]
    
    These stand-alone trigger drivers were using iio_trigger_put()
    where they should have been using iio_trigger_free().  The
    iio_trigger_put() adds a module_put which is bad since they
    never did a module_get.
    
    In the sysfs driver, module_get/put's are used as triggers are
    added & removed. This extra module_put() occurs on an error path
    in the probe routine (probably rare).
    
    In the bfin-timer & interrupt trigger drivers, the module resources
    are not explicitly managed, so it's doing a put on something that
    was never get'd.  It occurs on the probe error path and on the
    remove path (not so rare).
    
    Tested with the sysfs trigger driver.
    The bfin & interrupt drivers were build tested & inspected only.
    
    Signed-off-by: Alison Schofield <amsfield22@gmail.com>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6bcd1787b587fcfd857ca0938cdc09d4776d9520
Author: Mihail Atanassov <mihail.atanassov@arm.com>
Date:   Fri Dec 23 09:57:20 2016 +0000

    drm: mali-dp: fix Lx_CONTROL register fields clobber
    
    
    [ Upstream commit c7ffa59cf03c38b91d6ef01e42c1b52fd7a4f285 ]
    
    When updating the rotation fields, one of the assignments zeroes out the
    rest of the register fields, which include settings for chroma siting,
    inverse gamma, AMBA AXI caching, and alpha blending.
    
    Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
    Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9c9040a85966211de3ce1a53d3a9547b5615ff04
Author: Li Zhong <zhong@linux.vnet.ibm.com>
Date:   Fri Jan 20 16:35:33 2017 +0800

    crypto: vmx - disable preemption to enable vsx in aes_ctr.c
    
    
    [ Upstream commit 7dede913fc2ab9c0d3bff3a49e26fa9e858b0c13 ]
    
    Some preemptible check warnings were reported from enable_kernel_vsx(). This
    patch disables preemption in aes_ctr.c before enabling vsx, and they are now
    consistent with other files in the same directory.
    
    Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dea9c75f3f624056b666fa9d9b931cd09715b3dd
Author: Will Deacon <will.deacon@arm.com>
Date:   Fri Jan 6 10:49:12 2017 +0000

    arm64: dma-mapping: Only swizzle DMA ops for IOMMU_DOMAIN_DMA
    
    
    [ Upstream commit 4a8d8a14c0d08c2437cb80c05e88f6cc1ca3fb2c ]
    
    The arm64 DMA-mapping implementation sets the DMA ops to the IOMMU DMA
    ops if we detect that an IOMMU is present for the master and the DMA
    ranges are valid.
    
    In the case when the IOMMU domain for the device is not of type
    IOMMU_DOMAIN_DMA, then we have no business swizzling the ops, since
    we're not in control of the underlying address space. This patch leaves
    the DMA ops alone for masters attached to non-DMA IOMMU domains.
    
    Reviewed-by: Robin Murphy <robin.murphy@arm.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d2e589f305b005ff7ca34922c9323eec0a47c48a
Author: Tony Lindgren <tony@atomide.com>
Date:   Fri Jan 20 12:13:19 2017 -0800

    ARM: omap2plus_defconfig: Fix probe errors on UARTs 5 and 6
    
    
    [ Upstream commit 4cd6a59f5c1a9b0cca0da09fbba42b9450ffc899 ]
    
    We have more than four uarts on some SoCs and that can cause
    noise with errors while booting.
    
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 870b502a02086d22274403df7d39f1cd693594f7
Author: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
Date:   Wed Jan 4 11:48:52 2017 +0530

    cxl: Force psl data-cache flush during device shutdown
    
    
    [ Upstream commit d7b1946c7925a270062b2e0718aa57b42ba619c0 ]
    
    This change adds a force psl data cache flush during device shutdown
    callback. This should reduce a possibility of psl holding a dirty
    cache line while the CAPP is being reinitialized, which may result in
    a UE [load/store] machine check error.
    
    Signed-off-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
    Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
    Acked-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f88f299a94e02d6beee034d5421016a974783ee2
Author: Valentin Longchamp <valentin.longchamp@keymile.com>
Date:   Thu Dec 15 14:22:26 2016 +0100

    powerpc/corenet: explicitly disable the SDHC controller on kmcoge4
    
    
    [ Upstream commit a674c7d470bb47e82f4eb1fa944eadeac2f6bbaf ]
    
    It is not implemented on the kmcoge4 hardware and if not disabled it
    leads to error messages with the corenet32_smp_defconfig.
    
    Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
    Signed-off-by: Scott Wood <oss@buserror.net>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a4193ceee266e3fe5c0046fcbd1966d78bd0dc84
Author: Alexander Stein <alexander.stein@systec-electronic.com>
Date:   Thu Jan 26 14:17:54 2017 +0100

    pinctrl: baytrail: Fix debugfs offset output
    
    
    [ Upstream commit 3655a1ca6bd8e7300f2bb196208d5139aa6b2eda ]
    
    Apparently each GPIO pad's register are 16 bytes, so multiply the pad_map
    by that. The same is done in byt_gpio_reg the only other place where
    pad_map is used.
    
    Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3a8ab788bf01af231eaccce4b92168888da521cd
Author: Nate Watterson <nwatters@codeaurora.org>
Date:   Tue Dec 20 23:11:48 2016 -0500

    iommu/arm-smmu-v3: Clear prior settings when updating STEs
    
    
    [ Upstream commit 810871c57011eb3e89e6768932757f169d666cd2 ]
    
    To prevent corruption of the stage-1 context pointer field when
    updating STEs, rebuild the entire containing dword instead of
    clearing individual fields.
    
    Signed-off-by: Nate Watterson <nwatters@codeaurora.org>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6f51c8a58397979d8cb38616b51da4d54c7e9e54
Author: Li Zhong <zhong@linux.vnet.ibm.com>
Date:   Fri Nov 11 12:57:33 2016 +0800

    KVM: PPC: Book 3S: XICS: correct the real mode ICP rejecting counter
    
    
    [ Upstream commit 37451bc95dee0e666927d6ffdda302dbbaaae6fa ]
    
    Some counters are added in Commit 6e0365b78273 ("KVM: PPC: Book3S HV:
    Add ICP real mode counters"), to provide some performance statistics to
    determine whether further optimizing is needed for real mode functions.
    
    The n_reject counter counts how many times ICP rejects an irq because of
    priority in real mode. The redelivery of an lsi that is still asserted
    after eoi doesn't fall into this category, so the increasement there is
    removed.
    
    Also, it needs to be increased in icp_rm_deliver_irq() if it rejects
    another one.
    
    Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
    Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 61fdf68034a9d8d725a98720d79fa55f5f8e0435
Author: Noralf Trønnes <noralf@tronnes.org>
Date:   Thu Jan 26 23:56:04 2017 +0100

    drm: drm_minor_register(): Clean up debugfs on failure
    
    
    [ Upstream commit a67834f8bfa1e2f48bb27d07b9a552ba7c3af82a ]
    
    Call drm_debugfs_cleanup() in case drm_debugfs_init() fails to
    cover for failure in the drm_driver.debugfs_init callback.
    
    Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Link: http://patchwork.freedesktop.org/patch/msgid/20170126225621.12314-3-noralf@tronnes.org
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 872c075b6cb225f446450d7a8018abd238bf9431
Author: Marek Szyprowski <m.szyprowski@samsung.com>
Date:   Thu Jan 26 13:37:52 2017 +0100

    clk: samsung: exynos5433: Add IDs for PHYCLK_MIPIDPHY0_* clocks
    
    
    [ Upstream commit 5ccb58968bf7f46dbd128df88f71838a5a9750b8 ]
    
    Add missing identifiers for phyclk_mipidphy0_bitclkdiv8_phy and
    phyclk_mipidphy0_rxclkesc0_phy clocks. Access to those clocks is needed
    to setup initial clock configuration for display subsystem in device tree
    in order to avoid dependency on the configuration left by the bootloader.
    
    Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
    Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
    Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
    Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a276210915d50a4bc3f4cdef19cf7ced15b78a52
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Mon Jan 2 14:40:58 2017 +0530

    PM / OPP: Error out on failing to add static OPPs for v1 bindings
    
    
    [ Upstream commit 04a86a84c42ca18f37ab446127dc619b41dd3b23 ]
    
    The code adding static OPPs for V2 bindings already does so. Make the V1
    bindings specific code behave the same.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7422c5813a9d8b78d95091ac69c9a51111c17a43
Author: Yazen Ghannam <Yazen.Ghannam@amd.com>
Date:   Fri Jan 27 11:24:23 2017 -0600

    EDAC, amd64: Add x86cpuid sanity check during init
    
    
    [ Upstream commit 1bd9900b8301fc505f032c90ea487824cf824e99 ]
    
    Match one of the devices in amd64_cpuids[] before loading the module.
    This is an additional sanity check against users trying to load
    amd64_edac_mod on unsupported systems.
    
    Signed-off-by: Yazen Ghannam <Yazen.Ghannam@amd.com>
    Cc: linux-edac <linux-edac@vger.kernel.org>
    Link: http://lkml.kernel.org/r/1485537863-2707-9-git-send-email-Yazen.Ghannam@amd.com
    [ Get rid of err_ret label, make it a bit more readable this way. ]
    Signed-off-by: Borislav Petkov <bp@suse.de>
    
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2f945e749ee21aa9a48c8c9bb4d9eeb43135d805
Author: Harninder Rai <harninder.rai@nxp.com>
Date:   Wed Nov 9 23:40:53 2016 +0530

    dt-bindings: clockgen: Add compatible string for LS1012A
    
    
    [ Upstream commit 73447f68d7b2bc1df870da88b0e21d2bc1afc025 ]
    
    Signed-off-by: Harninder Rai <harninder.rai@nxp.com>
    Signed-off-by: Bhaskar Upadhaya <Bhaskar.Upadhaya@nxp.com>
    Acked-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 62b9fa2c436ffd9b87e6ed81df7f86c29fee092b
Author: Patrick Bruenn <p.bruenn@beckhoff.com>
Date:   Wed Jan 25 06:25:48 2017 +0100

    ARM: dts: imx53-qsb-common: fix FEC pinmux config
    
    
    [ Upstream commit 8b649e426336d7d4800ff9c82858328f4215ba01 ]
    
    The pinmux configuration in device tree was different from manual
    muxing in <u-boot>/board/freescale/mx53loco/mx53loco.c
    All pins were configured as NO_PAD_CTL(1 << 31), which was fine as the
    bootloader already did the correct pinmuxing for us.
    But recently u-boot is migrating to reuse device tree files from the
    kernel tree, so it seems to be better to have the correct pinmuxing in
    our files, too.
    
    Signed-off-by: Patrick Bruenn <p.bruenn@beckhoff.com>
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a1644f9c78e401b985923e13f866b397b8a787a0
Author: Juergen Gross <jgross@suse.com>
Date:   Tue Jan 10 14:32:52 2017 +0100

    xen/netback: set default upper limit of tx/rx queues to 8
    
    
    [ Upstream commit 56dd5af9bc23d0d5d23bb207c477715b4c2216c5 ]
    
    The default for the maximum number of tx/rx queues of one interface is
    the number of cpus of the system today. As each queue pair reserves 512
    grant pages this default consumes a ridiculous number of grants for
    large guests.
    
    Limit the queue number to 8 as default. This value can be modified
    via a module parameter if required.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6da1c989cccef3f5268dc634b9adf39d80a4b4e9
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Mon Jan 23 16:05:55 2017 +0100

    sched/core: Add missing update_rq_clock() call in sched_move_task()
    
    
    [ Upstream commit 1b1d62254df0fe42a711eb71948f915918987790 ]
    
    Bug was noticed via this warning:
    
      WARNING: CPU: 6 PID: 1 at kernel/sched/sched.h:804 detach_task_cfs_rq+0x8e8/0xb80
      rq->clock_update_flags < RQCF_ACT_SKIP
      Modules linked in:
      CPU: 6 PID: 1 Comm: systemd Not tainted 4.10.0-rc5-00140-g0874170baf55-dirty #1
      Hardware name: Supermicro SYS-4048B-TRFT/X10QBi, BIOS 1.0 04/11/2014
      Call Trace:
       dump_stack+0x4d/0x65
       __warn+0xcb/0xf0
       warn_slowpath_fmt+0x5f/0x80
       detach_task_cfs_rq+0x8e8/0xb80
       ? allocate_cgrp_cset_links+0x59/0x80
       task_change_group_fair+0x27/0x150
       sched_change_group+0x48/0xf0
       sched_move_task+0x53/0x150
       cpu_cgroup_attach+0x36/0x70
       cgroup_taskset_migrate+0x175/0x300
       cgroup_migrate+0xab/0xd0
       cgroup_attach_task+0xf0/0x190
       __cgroup_procs_write+0x1ed/0x2f0
       cgroup_procs_write+0x14/0x20
       cgroup_file_write+0x3f/0x100
       kernfs_fop_write+0x104/0x180
       __vfs_write+0x37/0x140
       vfs_write+0xb8/0x1b0
       SyS_write+0x55/0xc0
       do_syscall_64+0x61/0x170
       entry_SYSCALL64_slow_path+0x25/0x25
    
    Reported-by: Ingo Molnar <mingo@kernel.org>
    Reported-by: Borislav Petkov <bp@alien8.de>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7ac8a10c8a50a73bb739c6f23a067857fe474d36
Author: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Date:   Mon Dec 12 11:30:20 2016 -0700

    PCI: mvebu: Handle changes to the bridge windows while enabled
    
    
    [ Upstream commit d9bf28e2650fe3eeefed7e34841aea07d10c6543 ]
    
    The PCI core will write to the bridge window config multiple times while
    they are enabled.  This can lead to mbus failures like this:
    
     mvebu_mbus: cannot add window '4:e8', conflicts with another window
     mvebu-pcie mbus:pex@e0000000: Could not create MBus window at [mem 0xe0000000-0xe00fffff]: -22
    
    For me this is happening during a hotplug cycle.  The PCI core is not
    changing the values, just writing them twice while active.
    
    The patch addresses the general case of any change to an active window, but
    not atomically.  The code is slightly refactored so io and mem can share
    more of the window logic.
    
    Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Acked-by: Jason Cooper <jason@lakedaemon.net>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bf41c17c2266cbfda1b76daea39ce81c5b61867d
Author: Maciej W. Rozycki <macro@linux-mips.org>
Date:   Mon Jan 30 17:39:48 2017 +0100

    video: fbdev: pmag-ba-fb: Remove bad `__init' annotation
    
    
    [ Upstream commit 879e5a0df626f39cbb3c61bb90373e56d67012c4 ]
    
    Fix:
    
    WARNING: drivers/video/fbdev/pmag-ba-fb.o(.text+0x308): Section mismatch in reference from the function pmagbafb_probe() to the function .init.text:pmagbafb_erase_cursor()
    The function pmagbafb_probe()
    references the function __init pmagbafb_erase_cursor().
    This is often because pmagbafb_probe lacks a __init
    annotation or the annotation of pmagbafb_erase_cursor is wrong.
    
    -- a fallout from a missed update from commit 9625b51350cc ("VIDEO:
    PMAG-BA: Fix section mismatch") and then commit 48c68c4f1b54 ("Drivers:
    video: remove __dev* attributes.")
    
    Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
    Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 95e5e7ed5a8a64be3fffa56c1fdeae243f69e19c
Author: Lars-Peter Clausen <lars@metafoo.de>
Date:   Tue Nov 29 09:23:48 2016 -0200

    adv7604: Initialize drive strength to default when using DT
    
    
    [ Upstream commit da8892d410db224d9a24104529794e6e37e0c100 ]
    
    The adv7604 driver platform data contains fields for configuring the drive
    strength of the output pins. When probing the driver through DT these
    fields are not explicitly initialized, which means they are left at 0. This
    is a reserved setting for the drive strength configuration though and can
    cause signal integrity issues.
    
    Whether these signal integrity issues are visible depends on the PCB
    specifics (e.g. the higher the load capacitance for the output the more
    visible the issue). But it has been observed on existing solutions at high
    pixel clock rates.
    
    Initialize the drive strength settings to the power-on-reset value of the
    device when probing through devicetree to avoid this issue.
    
    Fixes: 0e158be0162b ("adv7604: Add DT support")
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Tested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>