commit f37eb7b586f1dd24a86c50278c65322fc6787722
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Sun Oct 8 10:26:32 2017 +0200

    Linux 4.9.54

commit 75903d40aaec3328e17bc6c89ea96b4fc1c602eb
Author: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Date:   Mon Sep 18 16:10:35 2017 +0200

    s390/mm: make pmdp_invalidate() do invalidation only
    
    commit 91c575b335766effa6103eba42a82aea560c365f upstream.
    
    Commit 227be799c39a ("s390/mm: uninline pmdp_xxx functions from pgtable.h")
    inadvertently changed the behavior of pmdp_invalidate(), so that it now
    clears the pmd instead of just marking it as invalid. Fix this by restoring
    the original behavior.
    
    A possible impact of the misbehaving pmdp_invalidate() would be the
    MADV_DONTNEED races (see commits ced10803 and 58ceeb6b), although we
    should not have any negative impact on the related dirty/young flags,
    since those flags are not set by the hardware on s390.
    
    Fixes: 227be799c39a ("s390/mm: uninline pmdp_xxx functions from pgtable.h")
    Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 14b502e491a8ea9257c9cbe4b7b0800e6e9a7473
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Thu Feb 2 12:51:28 2017 -0200

    ttpci: address stringop overflow warning
    
    commit 69d3973af1acd4c0989ec8218c05f12d303cd7cf upstream.
    
    gcc-7.0.1 warns about old code in ttpci:
    
    In file included from drivers/media/pci/ttpci/av7110.c:63:0:
    In function 'irdebi.isra.2',
        inlined from 'start_debi_dma' at drivers/media/pci/ttpci/av7110.c:376:3,
        inlined from 'gpioirq' at drivers/media/pci/ttpci/av7110.c:659:3:
    drivers/media/pci/ttpci/av7110_hw.h:406:3: warning: 'memcpy': specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
       memcpy(av7110->debi_virt, (char *) &res, count);
    In function 'irdebi.isra.2',
        inlined from 'start_debi_dma' at drivers/media/pci/ttpci/av7110.c:376:3,
        inlined from 'gpioirq' at drivers/media/pci/ttpci/av7110.c:668:3:
    drivers/media/pci/ttpci/av7110_hw.h:406:3: warning: 'memcpy': specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
       memcpy(av7110->debi_virt, (char *) &res, count);
    
    Apparently, 'count' can be negative here, which will then get turned
    into a giant size argument for memcpy. Changing the sizes to 'unsigned
    int' instead seems safe as we already check for maximum sizes, and it
    also simplifies the code a bit.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c637027054ae199bc93d72440019e3a445026988
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Thu Mar 23 16:15:55 2017 +0100

    ALSA: au88x0: avoid theoretical uninitialized access
    
    commit 13f99ebdd602ebdafb909e15ec6ffb1e34690167 upstream.
    
    The latest gcc-7.0.1 snapshot points out that we if nr_ch is zero, we never
    initialize some variables:
    
    sound/pci/au88x0/au88x0_core.c: In function 'vortex_adb_allocroute':
    sound/pci/au88x0/au88x0_core.c:2304:68: error: 'mix[0]' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    sound/pci/au88x0/au88x0_core.c:2305:58: error: 'src[0]' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
    I assume this can never happen in practice, but adding a check here doesn't
    hurt either and avoids the warning. The code has been unchanged since
    the start of git history.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cf2cd9feb8e61fffc448006d0020a7149430cfcd
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Thu Jan 12 11:48:11 2017 +0100

    ASoC: rt5660: remove double const
    
    commit 4281fcc02ed9f902dfa52d3635ac7f04b1a7341f upstream.
    
    Drop the const qualifier as it is being added by SOC_ENUM_DOUBLE_DECL()
    already which is called by SOC_ENUM_SINGLE_DECL() here.
    
    Fixes: commit 2b26dd4c1fc5 ("ASoC: rt5660: add rt5660 codec driver")
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 617c7735db3da01b582448f12c93f21ff8904dbe
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Thu Jan 12 14:15:03 2017 +0100

    ASoC: rt5659: drop double const
    
    commit eae39b5f4269260d5d8b35133ba0f4c5e2895b71 upstream.
    
    Drop the const qualifier as it is being added by SOC_ENUM_DOUBLE_DECL()
    already which is called by SOC_ENUM_SINGLE_DECL() as well as the
    double const by calls to SOC_VALUE_ENUM_SINGLE_DECL() via
    SOC_VALUE_ENUM_DOUBLE_DECL).
    
    Fixes: commit d3cb2de2479b ("ASoC: rt5659: add rt5659 codec driver")
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2f4835ee55058c44f2768cc1a5566e75c8851705
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Thu May 11 13:44:38 2017 +0200

    ASoC: rt5514: fix gcc-7 warning
    
    commit 03ba791df98d15d07ea74075122af71e35c7611c upstream.
    
    gcc-7 warns that there is a duplicate 'const' specifier in some
    variables that are declared using the SOC_ENUM_SINGLE_DECL macro:
    
    sound/soc/codecs/rt5514.c:398:14: error: duplicate 'const' declaration specifier [-Werror=duplicate-decl-specifier]
     static const SOC_ENUM_SINGLE_DECL(
    sound/soc/codecs/rt5514.c:405:14: error: duplicate 'const' declaration specifier [-Werror=duplicate-decl-specifier]
     static const SOC_ENUM_SINGLE_DECL(
    
    This removes one to fix the warning.
    
    Fixes: 4a6180ea7399 ("ASoC: rt5514: add rt5514 codec driver")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d8ba70c0940782262adb8955198d9ae787afb7d7
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Thu May 11 13:50:16 2017 +0200

    ARM: remove duplicate 'const' annotations'
    
    commit 0527873b29b077fc8e656acd63e1866b429fef55 upstream.
    
    gcc-7 warns about some declarations that are more 'const' than necessary:
    
    arch/arm/mach-at91/pm.c:338:34: error: duplicate 'const' declaration specifier [-Werror=duplicate-decl-specifier]
     static const struct of_device_id const ramc_ids[] __initconst = {
    arch/arm/mach-bcm/bcm_kona_smc.c:36:34: error: duplicate 'const' declaration specifier [-Werror=duplicate-decl-specifier]
     static const struct of_device_id const bcm_kona_smc_ids[] __initconst = {
    arch/arm/mach-spear/time.c:207:34: error: duplicate 'const' declaration specifier [-Werror=duplicate-decl-specifier]
     static const struct of_device_id const timer_of_match[] __initconst = {
    arch/arm/mach-omap2/prm_common.c:714:34: error: duplicate 'const' declaration specifier [-Werror=duplicate-decl-specifier]
     static const struct of_device_id const omap_prcm_dt_match_table[] __initconst = {
    arch/arm/mach-omap2/vc.c:562:35: error: duplicate 'const' declaration specifier [-Werror=duplicate-decl-specifier]
     static const struct i2c_init_data const omap4_i2c_timing_data[] __initconst = {
    
    The ones in arch/arm were apparently all introduced accidentally by one
    commit that correctly marked a lot of variables as __initconst.
    
    Fixes: 19c233b79d1a ("ARM: appropriate __init annotation for const data")
    Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
    Acked-by: Tony Lindgren <tony@atomide.com>
    Acked-by: Nicolas Pitre <nico@linaro.org>
    Acked-by: Florian Fainelli <f.fainelli@gmail.com>
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Acked-by: Krzysztof Hałasa <khalasa@piap.pl>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a4f11d61e305a35d223c13fdbc3ca00fe9be9d13
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Tue Mar 14 13:18:45 2017 +0100

    IB/qib: fix false-postive maybe-uninitialized warning
    
    commit f6aafac184a3e46e919769dd4faa8bf0dc436534 upstream.
    
    aarch64-linux-gcc-7 complains about code it doesn't fully understand:
    
    drivers/infiniband/hw/qib/qib_iba7322.c: In function 'qib_7322_txchk_change':
    include/asm-generic/bitops/non-atomic.h:105:35: error: 'shadow' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
    The code is right, and despite trying hard, I could not come up with a version
    that I liked better than just adding a fake initialization here to shut up the
    warning.
    
    Fixes: f931551bafe1 ("IB/qib: Add new qib driver for QLogic PCIe InfiniBand adapters")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Ira Weiny <ira.weiny@intel.com>
    Signed-off-by: Doug Ledford <dledford@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 86c469bea4ae129433d119b7eb178d40421db045
Author: Len Brown <len.brown@intel.com>
Date:   Sat Mar 4 15:42:48 2017 -0500

    tools/power turbostat: bugfix: GFXMHz column not changing
    
    
    [ Upstream commit 22048c5485503749754b3b5daf9d99ef89fcacdc ]
    
    turbostat displays a GFXMHz column, which comes from reading
    /sys/class/graphics/fb0/device/drm/card0/gt_cur_freq_mhz
    
    But GFXMHz was not changing, even when a manual
    cat /sys/class/graphics/fb0/device/drm/card0/gt_cur_freq_mhz
    showed a new value.
    
    It turns out that a rewind() on the open file is not sufficient,
    fflush() (or a close/open) is needed to read fresh values.
    
    Reported-by: Yaroslav Isakov <yaroslav.isakov@gmail.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c126bc6b94ddbc94af3382e31eeb927e7d6bc533
Author: Jon Mason <jon.mason@broadcom.com>
Date:   Wed Feb 8 15:37:12 2017 -0500

    ARM: dts: BCM5301X: Fix memory start address
    
    
    [ Upstream commit 88d1fa70c21d7b431386cfe70cdc514d98b0c9c4 ]
    
    Memory starts at 0x80000000, not 0.  0 "works" due to mirrior of the
    first 128M of RAM to that address.  Anything greater than 128M will
    quickly find nothing there.  Correcting the starting address has
    everything working again.
    
    Signed-off-by: Jon Mason <jon.mason@broadcom.com>
    Fixes: 7eb05f6d ("ARM: dts: bcm5301x: Add BCM SVK DT files")
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 16db9205d3f89911b4d0d92a84049b70213a8927
Author: Gwendal Grignou <gwendal@chromium.org>
Date:   Fri Mar 3 09:00:09 2017 -0800

    libata: transport: Remove circular dependency at free time
    
    
    [ Upstream commit d85fc67dd11e9a32966140677d4d6429ca540b25 ]
    
    Without this patch, failed probe would not free resources like irq.
    
    ata port tdev object currently hold a reference to the ata port
    object.  Therefore the ata port object release function will not get
    called until the ata_tport_release is called. But that would never
    happen, releasing the last reference of ata port dev is done by
    scsi_host_release, which is called by ata_host_release when the ata
    port object is released.
    
    The ata device objects actually do not need to explicitly hold a
    reference to their real counterpart, given the transport objects are
    the children of these objects and device_add() is call for each child.
    We know the parent will not be deleted until we call the child's
    device_del().
    
    Reported-by: Matthew Whitehead <tedheadster@gmail.com>
    Tested-by: Matthew Whitehead <tedheadster@gmail.com>
    Suggested-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 49c3226c06574bd57d6c4a9aec6641d28fda5b52
Author: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Date:   Mon Mar 6 16:54:33 2017 +0000

    ASoC: wm_adsp: Return an error on write to a disabled volatile control
    
    
    [ Upstream commit 67430a39ca7a6af28aade5acb92d43ee257c1014 ]
    
    Volatile controls should only be accessed when the firmware is active,
    currently however writes to these controls will succeed, but the data
    will be lost, if the firmware is powered down. Update this behaviour such
    that an error is returned the same as it is for reads.
    
    Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d86f4ea83626d4714c946ffef643a54519987934
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Mon Mar 6 11:58:20 2017 -0800

    xfs: remove kmem_zalloc_greedy
    
    
    [ Upstream commit 08b005f1333154ae5b404ca28766e0ffb9f1c150 ]
    
    The sole remaining caller of kmem_zalloc_greedy is bulkstat, which uses
    it to grab 1-4 pages for staging of inobt records.  The infinite loop in
    the greedy allocation function is causing hangs[1] in generic/269, so
    just get rid of the greedy allocator in favor of kmem_zalloc_large.
    This makes bulkstat somewhat more likely to ENOMEM if there's really no
    pages to spare, but eliminates a source of hangs.
    
    [1] http://lkml.kernel.org/r/20170301044634.rgidgdqqiiwsmfpj%40XZHOUW.usersys.redhat.com
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 943411be40e089ca72d848b222bbeea3d0d48463
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Tue Mar 7 21:06:38 2017 +0100

    i2c: meson: fix wrong variable usage in meson_i2c_put_data
    
    
    [ Upstream commit 3b0277f198ac928f323c42e180680d2f79aa980d ]
    
    Most likely a copy & paste error.
    
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Acked-by: Jerome Brunet <jbrunet@baylibre.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Fixes: 30021e3707a7 ("i2c: add support for Amlogic Meson I2C controller")
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 625cb13a89295b298d6e0f323cfa2882fb5c05b6
Author: Pablo Neira Ayuso <pablo@netfilter.org>
Date:   Sat Mar 4 19:53:47 2017 +0100

    netfilter: nf_tables: set pktinfo->thoff at AH header if found
    
    
    [ Upstream commit 568af6de058cb2b0c5b98d98ffcf37cdc6bc38a7 ]
    
    Phil Sutter reports that IPv6 AH header matching is broken. From
    userspace, nft generates bytecode that expects to find the AH header at
    NFT_PAYLOAD_TRANSPORT_HEADER both for IPv4 and IPv6. However,
    pktinfo->thoff is set to the inner header after the AH header in IPv6,
    while in IPv4 pktinfo->thoff points to the AH header indeed. This
    behaviour is inconsistent. This patch fixes this problem by updating
    ipv6_find_hdr() to get the IP6_FH_F_AUTH flag so this function stops at
    the AH header, so both IPv4 and IPv6 pktinfo->thoff point to the AH
    header.
    
    This is also inconsistent when trying to match encapsulated headers:
    
    1) A packet that looks like IPv4 + AH + TCP dport 22 will *not* match.
    2) A packet that looks like IPv6 + AH + TCP dport 22 will match.
    
    Reported-by: Phil Sutter <phil@nwl.cc>
    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 4131c889c27843199874d7f2ba3442190cce2b41
Author: Shaohua Li <shli@fb.com>
Date:   Thu Feb 23 12:26:41 2017 -0800

    md/raid10: submit bio directly to replacement disk
    
    
    [ Upstream commit 6d399783e9d4e9bd44931501948059d24ad96ff8 ]
    
    Commit 57c67df(md/raid10: submit IO from originating thread instead of
    md thread) submits bio directly for normal disks but not for replacement
    disks. There is no point we shouldn't do this for replacement disks.
    
    Cc: NeilBrown <neilb@suse.com>
    Signed-off-by: Shaohua Li <shli@fb.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5c6712ab4efb6cf60e16719ab6bcaface9cc268c
Author: Zhu Yanjun <yanjun.zhu@oracle.com>
Date:   Tue Mar 7 02:48:36 2017 -0500

    rds: ib: add error handle
    
    
    [ Upstream commit 3b12f73a5c2977153f28a224392fd4729b50d1dc ]
    
    In the function rds_ib_setup_qp, the error handle is missing. When some
    error occurs, it is possible that memory leak occurs. As such, error
    handle is added.
    
    Cc: Joe Jin <joe.jin@oracle.com>
    Reviewed-by: Junxiao Bi <junxiao.bi@oracle.com>
    Reviewed-by: Guanglei Li <guanglei.li@oracle.com>
    Signed-off-by: Zhu Yanjun <yanjun.zhu@oracle.com>
    Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.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 a495f72f8a53b0abdd1ccf0e29844a1e4b1d9407
Author: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Date:   Thu Mar 9 16:17:06 2017 -0800

    mm/cgroup: avoid panic when init with low memory
    
    
    [ Upstream commit bfc7228b9a9647e1c353e50b40297a2929801759 ]
    
    The system may panic when initialisation is done when almost all the
    memory is assigned to the huge pages using the kernel command line
    parameter hugepage=xxxx.  Panic may occur like this:
    
      Unable to handle kernel paging request for data at address 0x00000000
      Faulting instruction address: 0xc000000000302b88
      Oops: Kernel access of bad area, sig: 11 [#1]
      SMP NR_CPUS=2048 [    0.082424] NUMA
      pSeries
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.0-15-generic #16-Ubuntu
      task: c00000021ed01600 task.stack: c00000010d108000
      NIP: c000000000302b88 LR: c000000000270e04 CTR: c00000000016cfd0
      REGS: c00000010d10b2c0 TRAP: 0300   Not tainted (4.9.0-15-generic)
      MSR: 8000000002009033 <SF,VEC,EE,ME,IR,DR,RI,LE>[ 0.082770]   CR: 28424422  XER: 00000000
      CFAR: c0000000003d28b8 DAR: 0000000000000000 DSISR: 40000000 SOFTE: 1
      GPR00: c000000000270e04 c00000010d10b540 c00000000141a300 c00000010fff6300
      GPR04: 0000000000000000 00000000026012c0 c00000010d10b630 0000000487ab0000
      GPR08: 000000010ee90000 c000000001454fd8 0000000000000000 0000000000000000
      GPR12: 0000000000004400 c00000000fb80000 00000000026012c0 00000000026012c0
      GPR16: 00000000026012c0 0000000000000000 0000000000000000 0000000000000002
      GPR20: 000000000000000c 0000000000000000 0000000000000000 00000000024200c0
      GPR24: c0000000016eef48 0000000000000000 c00000010fff7d00 00000000026012c0
      GPR28: 0000000000000000 c00000010fff7d00 c00000010fff6300 c00000010d10b6d0
      NIP mem_cgroup_soft_limit_reclaim+0xf8/0x4f0
      LR do_try_to_free_pages+0x1b4/0x450
      Call Trace:
        do_try_to_free_pages+0x1b4/0x450
        try_to_free_pages+0xf8/0x270
        __alloc_pages_nodemask+0x7a8/0xff0
        new_slab+0x104/0x8e0
        ___slab_alloc+0x620/0x700
        __slab_alloc+0x34/0x60
        kmem_cache_alloc_node_trace+0xdc/0x310
        mem_cgroup_init+0x158/0x1c8
        do_one_initcall+0x68/0x1d0
        kernel_init_freeable+0x278/0x360
        kernel_init+0x24/0x170
        ret_from_kernel_thread+0x5c/0x74
      Instruction dump:
      eb81ffe0 eba1ffe8 ebc1fff0 ebe1fff8 4e800020 3d230001 e9499a42 3d220004
      3929acd8 794a1f24 7d295214 eac90100 <e9360000> 2fa90000 419eff74 3b200000
      ---[ end trace 342f5208b00d01b6 ]---
    
    This is a chicken and egg issue where the kernel try to get free memory
    when allocating per node data in mem_cgroup_init(), but in that path
    mem_cgroup_soft_limit_reclaim() is called which assumes that these data
    are allocated.
    
    As mem_cgroup_soft_limit_reclaim() is best effort, it should return when
    these data are not yet allocated.
    
    This patch also fixes potential null pointer access in
    mem_cgroup_remove_from_trees() and mem_cgroup_update_tree().
    
    Link: http://lkml.kernel.org/r/1487856999-16581-2-git-send-email-ldufour@linux.vnet.ibm.com
    Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Acked-by: Johannes Weiner <hannes@cmpxchg.org>
    Acked-by: Balbir Singh <bsingharora@gmail.com>
    Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2d59530d991833c779aa2f6a385b2b27b494240c
Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Date:   Mon Feb 27 14:30:25 2017 +0200

    iommu/io-pgtable-arm: Check for leaf entry before dereferencing it
    
    
    [ Upstream commit ed46e66cc1b3d684042f92dfa2ab15ee917b4cac ]
    
    Do a check for already installed leaf entry at the current level before
    dereferencing it in order to avoid walking the page table down with
    wrong pointer to the next level.
    
    Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
    CC: Will Deacon <will.deacon@arm.com>
    CC: 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 81080d2d83f6b633a363d06a4fa604da20a2c5e6
Author: Dou Liyang <douly.fnst@cn.fujitsu.com>
Date:   Fri Mar 3 16:02:25 2017 +0800

    x86/acpi: Restore the order of CPU IDs
    
    
    [ Upstream commit 2b85b3d22920db7473e5fed5719e7955c0ec323e ]
    
    The following commits:
    
      f7c28833c2 ("x86/acpi: Enable acpi to register all possible cpus at
    boot time") and 8f54969dc8 ("x86/acpi: Introduce persistent storage
    for cpuid <-> apicid mapping")
    
    ... registered all the possible CPUs at boot time via ACPI tables to
    make the mapping of cpuid <-> apicid fixed. Both enabled and disabled
    CPUs could have a logical CPU ID after boot time.
    
    But, ACPI tables are unreliable. the number amd order of Local APIC
    entries which depends on the firmware is often inconsistent with the
    physical devices. Even if they are consistent, The disabled CPUs which
    take up some logical CPU IDs will also make the order discontinuous.
    
    Revert the part of disabled CPUs registration, keep the allocation
    logic of logical CPU IDs and also keep some code location changes.
    
    Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com>
    Tested-by: Xiaolong Ye <xiaolong.ye@intel.com>
    Cc: rjw@rjwysocki.net
    Cc: linux-acpi@vger.kernel.org
    Cc: guzheng1@huawei.com
    Cc: izumi.taku@jp.fujitsu.com
    Cc: lenb@kernel.org
    Link: http://lkml.kernel.org/r/1488528147-2279-4-git-send-email-douly.fnst@cn.fujitsu.com
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ffb6a7637ce0b35c7c75574a007333db988ea806
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Sun Mar 12 18:12:56 2017 +0100

    cpufreq: intel_pstate: Update pid_params.sample_rate_ns in pid_param_set()
    
    
    [ Upstream commit 6e7408acd04d06c04981c0c0fb5a2462b16fae4f ]
    
    Fix the debugfs interface for PID tuning to actually update
    pid_params.sample_rate_ns on PID parameters updates, as changing
    pid_params.sample_rate_ms via debugfs has no effect now.
    
    Fixes: a4675fbc4a7a (cpufreq: intel_pstate: Replace timers with utilization update callbacks)
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 27848be7eb758dec822f1ca1101fdbc8649182ac
Author: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Date:   Wed Mar 15 23:38:07 2017 -0400

    ibmvnic: Free tx/rx scrq pointer array when releasing sub-crqs
    
    
    [ Upstream commit 9501df3cd9204f5859f649182431616a31ee88a1 ]
    
    The pointer array for the tx/rx sub crqs should be free'ed when
    releasing the tx/rx sub crqs.
    
    Signed-off-by: Nathan Fontenot <nfont@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 49f1b2c154cb8f412cc8d4fde29dc4baa2e79ee3
Author: Jason Yan <yanaijie@huawei.com>
Date:   Fri Mar 10 10:48:13 2017 +0800

    nfs: make nfs4_cb_sv_ops static
    
    
    [ Upstream commit 05fae7bbc237bc7de0ee9c3dcf85b2572a80e3b5 ]
    
    Fixes the following sparse warning:
    
    fs/nfs/callback.c:235:21: warning: symbol 'nfs4_cb_sv_ops' was not
    declared. Should it be static?
    
    Signed-off-by: Jason Yan <yanaijie@huawei.com>
    Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1cf8f9467e8658f1cb15127f4ac80019098b9d22
Author: Arvind Yadav <arvind.yadav.cs@gmail.com>
Date:   Tue Mar 14 15:24:51 2017 +0530

    parisc: perf: Fix potential NULL pointer dereference
    
    
    [ Upstream commit 74e3f6e63da6c8e8246fba1689e040bc926b4a1a ]
    
    Fix potential NULL pointer dereference and clean up
    coding style errors (code indent, trailing whitespaces).
    
    Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
    Signed-off-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cd402b889606ed9b51d76594ddd059a8be6356a1
Author: Liping Zhang <zlpnobody@gmail.com>
Date:   Sun Mar 19 22:35:59 2017 +0800

    netfilter: nfnl_cthelper: fix incorrect helper->expect_class_max
    
    
    [ Upstream commit ae5c682113f9f94cc5e76f92cf041ee624c173ee ]
    
    The helper->expect_class_max must be set to the total number of
    expect_policy minus 1, since we will use the statement "if (class >
    helper->expect_class_max)" to validate the CTA_EXPECT_CLASS attr in
    ctnetlink_alloc_expect.
    
    So for compatibility, set the helper->expect_class_max to the
    NFCTH_POLICY_SET_NUM attr's value minus 1.
    
    Also: it's invalid when the NFCTH_POLICY_SET_NUM attr's value is zero.
    1. this will result "expect_policy = kzalloc(0, GFP_KERNEL);";
    2. we cannot set the helper->expect_class_max to a proper value.
    
    So if nla_get_be32(tb[NFCTH_POLICY_SET_NUM]) is zero, report -EINVAL to
    the userspace.
    
    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 9b6f9da9e55a41bb6ff1fbd0a3e7ebe3c33fec74
Author: Sagi Grimberg <sagi@grimberg.me>
Date:   Thu Mar 9 13:26:07 2017 +0200

    nvme-rdma: handle cpu unplug when re-establishing the controller
    
    
    [ Upstream commit c248c64387fac5a6b31b343d9acb78f478e8619c ]
    
    If a cpu unplug event has occured, we need to take the minimum
    of the provided nr_io_queues and the number of online cpus,
    otherwise we won't be able to connect them as blk-mq mapping
    won't dispatch to those queues.
    
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 67e8be27ff725764263998e6ea179a7a05517466
Author: Matt Redfearn <matt.redfearn@imgtec.com>
Date:   Tue Mar 21 14:39:19 2017 +0000

    MIPS: smp-cps: Fix retrieval of VPE mask on big endian CPUs
    
    
    [ Upstream commit fb2155e3c30dc2043b52020e26965067a3e7779c ]
    
    The vpe_mask member of struct core_boot_config is of type atomic_t,
    which is a 32bit type. In cps-vec.S this member was being retrieved by a
    PTR_L macro, which on 64bit systems is a 64bit load. On little endian
    systems this is OK, since the double word that is retrieved will have
    the required less significant word in the correct position. However, on
    big endian systems the less significant word of the load is retrieved
    from address+4, and the more significant from address+0. The destination
    register therefore ends up with the required word in the more
    significant word
    e.g. when starting the second VP of a big endian 64bit system, the load
    
    PTR_L    ta2, COREBOOTCFG_VPEMASK(a0)
    
    ends up setting register ta2 to 0x0000000300000000
    
    When this value is written to the CPC it is ignored, since it is
    invalid to write anything larger than 4 bits. This results in any VP
    other than VP0 in a core failing to start in 64bit big endian systems.
    
    Change the load to a 32bit load word instruction to fix the bug.
    
    Fixes: f12401d7219f ("MIPS: smp-cps: Pull boot config retrieval out of mips_cps_boot_vpes")
    Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
    Cc: Paul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/15787/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit db6767e2fdca12b8df8e3efdf567c434c47fb7d0
Author: Thibault Saunier <thibault.saunier@osg.samsung.com>
Date:   Wed Feb 1 18:05:21 2017 -0200

    exynos-gsc: Do not swap cb/cr for semi planar formats
    
    
    [ Upstream commit d7f3e33df4fbdc9855fb151f4a328ec46447e3ba ]
    
    In the case of semi planar formats cb and cr are in the same plane
    in memory, meaning that will be set to 'cb' whatever the format is,
    and whatever the (packed) order of those components are.
    
    Suggested-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
    Signed-off-by: Thibault Saunier <thibault.saunier@osg.samsung.com>
    Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
    Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.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>

commit 61b203816b171130659e0168c263d195a6c41a44
Author: Marek Szyprowski <m.szyprowski@samsung.com>
Date:   Mon Mar 20 10:17:56 2017 +0100

    iommu/exynos: Block SYSMMU while invalidating FLPD cache
    
    
    [ Upstream commit 7d2aa6b814476a2e2794960f844344519246df72 ]
    
    Documentation specifies that SYSMMU should be in blocked state while
    performing TLB/FLPD cache invalidation, so add needed calls to
    sysmmu_block/unblock.
    
    Fixes: 66a7ed84b345d ("iommu/exynos: Apply workaround of caching fault page table entries")
    CC: stable@vger.kernel.org # v4.10+
    Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3798fd14b970560d7ebbd3e3f388340476525e4c
Author: Matt Redfearn <matt.redfearn@imgtec.com>
Date:   Tue Mar 21 14:52:25 2017 +0000

    MIPS: IRQ Stack: Unwind IRQ stack onto task stack
    
    
    [ Upstream commit db8466c581cca1a08b505f1319c3ecd246f16fa8 ]
    
    When the separate IRQ stack was introduced, stack unwinding only
    proceeded as far as the top of the IRQ stack, leading to kernel
    backtraces being less useful, lacking the trace of what was interrupted.
    
    Fix this by providing a means for the kernel to unwind the IRQ stack
    onto the interrupted task stack. The processor state is saved to the
    kernel task stack on interrupt. The IRQ_STACK_START macro reserves an
    unsigned long at the top of the IRQ stack where the interrupted task
    stack pointer can be saved. After the active stack is switched to the
    IRQ stack, save the interrupted tasks stack pointer to the reserved
    location.
    
    Fix the stack unwinding code to look for the frame being the top of the
    IRQ stack and if so get the next frame from the saved location. The
    existing test does not work with the separate stack since the ra is no
    longer pointed at ret_from_{irq,exception}.
    
    The test to stop unwinding the stack 32 bytes from the top of a stack
    must be modified to allow unwinding to continue up to the location of
    the saved task stack pointer when on the IRQ stack. The low / high marks
    of the stack are set depending on whether the sp is on an irq stack or
    not.
    
    Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
    Cc: Masanari Iida <standby24x7@gmail.com>
    Cc: Chris Metcalf <cmetcalf@mellanox.com>
    Cc: James Hogan <james.hogan@imgtec.com>
    Cc: Paul Burton <paul.burton@imgtec.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jason A. Donenfeld <jason@zx2c4.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/15788/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 146561a3f1c8d7f9ef9b77964c846da48c62a6ac
Author: Liping Zhang <zlpnobody@gmail.com>
Date:   Sat Mar 25 08:53:12 2017 +0800

    netfilter: invoke synchronize_rcu after set the _hook_ to NULL
    
    
    [ Upstream commit 3b7dabf029478bb80507a6c4500ca94132a2bc0b ]
    
    Otherwise, another CPU may access the invalid pointer. For example:
        CPU0                CPU1
         -              rcu_read_lock();
         -              pfunc = _hook_;
      _hook_ = NULL;          -
      mod unload              -
         -                 pfunc(); // invalid, panic
         -             rcu_read_unlock();
    
    So we must call synchronize_rcu() to wait the rcu reader to finish.
    
    Also note, in nf_nat_snmp_basic_fini, synchronize_rcu() will be invoked
    by later nf_conntrack_helper_unregister, but I'm inclined to add a
    explicit synchronize_rcu after set the nf_nat_snmp_hook to NULL. Depend
    on such obscure assumptions is not a good idea.
    
    Last, in nfnetlink_cttimeout, we use kfree_rcu to free the time object,
    so in cttimeout_exit, invoking rcu_barrier() is not necessary at all,
    remove it too.
    
    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 07b653405e3ad2a9f4ff8e654898a72069fbc27a
Author: Randy Dunlap <rdunlap@infradead.org>
Date:   Fri Mar 31 15:12:10 2017 -0700

    drivers/rapidio/devices/tsi721.c: make module parameter variable name unique
    
    
    [ Upstream commit 4785603bd05b0b029c647080937674d9991600f9 ]
    
    kbuild test robot reported a non-static variable name collision between
    a staging driver and a RapidIO driver, with a generic variable name of
    'dbg_level'.
    
    Both drivers should be changed so that they don't use this generic
    public variable name.  This patch fixes the RapidIO driver but does not
    change the user interface (name) for the module parameter.
    
      drivers/staging/built-in.o:(.bss+0x109d0): multiple definition of `dbg_level'
      drivers/rapidio/built-in.o:(.bss+0x16c): first defined here
    
    Link: http://lkml.kernel.org/r/ab527fc5-aa3c-4b07-5d48-eef5de703192@infradead.org
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Reported-by: kbuild test robot <fengguang.wu@intel.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Matt Porter <mporter@kernel.crashing.org>
    Cc: Alexandre Bounine <alexandre.bounine@idt.com>
    Cc: Jérémy Lefaure <jeremy.lefaure@lse.epita.fr>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5435e4823d817d0af3381a046d60a8862d1072aa
Author: Mike Galbraith <efault@gmx.de>
Date:   Fri Mar 31 15:12:12 2017 -0700

    kasan: do not sanitize kexec purgatory
    
    
    [ Upstream commit 13a6798e4a03096b11bf402a063786a7be55d426 ]
    
    Fixes this:
    
      kexec: Undefined symbol: __asan_load8_noabort
      kexec-bzImage64: Loading purgatory failed
    
    Link: http://lkml.kernel.org/r/1489672155.4458.7.camel@gmx.de
    Signed-off-by: Mike Galbraith <efault@gmx.de>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dd9640717f3f6abef2b16ba3cbc6eeb203172124
Author: Mike Kravetz <mike.kravetz@oracle.com>
Date:   Fri Mar 31 15:12:01 2017 -0700

    hugetlbfs: initialize shared policy as part of inode allocation
    
    
    [ Upstream commit 4742a35d9de745e867405b4311e1aac412f0ace1 ]
    
    Any time after inode allocation, destroy_inode can be called.  The
    hugetlbfs inode contains a shared_policy structure, and
    mpol_free_shared_policy is unconditionally called as part of
    hugetlbfs_destroy_inode.  Initialize the policy as part of inode
    allocation so that any quick (error path) calls to destroy_inode will be
    handed an initialized policy.
    
    syzkaller fuzzer found this bug, that resulted in the following:
    
        BUG: KASAN: user-memory-access in atomic_inc
        include/asm-generic/atomic-instrumented.h:87 [inline] at addr
        000000131730bd7a
        BUG: KASAN: user-memory-access in __lock_acquire+0x21a/0x3a80
        kernel/locking/lockdep.c:3239 at addr 000000131730bd7a
        Write of size 4 by task syz-executor6/14086
        CPU: 3 PID: 14086 Comm: syz-executor6 Not tainted 4.11.0-rc3+ #364
        Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
        Call Trace:
         atomic_inc include/asm-generic/atomic-instrumented.h:87 [inline]
         __lock_acquire+0x21a/0x3a80 kernel/locking/lockdep.c:3239
         lock_acquire+0x1ee/0x590 kernel/locking/lockdep.c:3762
         __raw_write_lock include/linux/rwlock_api_smp.h:210 [inline]
         _raw_write_lock+0x33/0x50 kernel/locking/spinlock.c:295
         mpol_free_shared_policy+0x43/0xb0 mm/mempolicy.c:2536
         hugetlbfs_destroy_inode+0xca/0x120 fs/hugetlbfs/inode.c:952
         alloc_inode+0x10d/0x180 fs/inode.c:216
         new_inode_pseudo+0x69/0x190 fs/inode.c:889
         new_inode+0x1c/0x40 fs/inode.c:918
         hugetlbfs_get_inode+0x40/0x420 fs/hugetlbfs/inode.c:734
         hugetlb_file_setup+0x329/0x9f0 fs/hugetlbfs/inode.c:1282
         newseg+0x422/0xd30 ipc/shm.c:575
         ipcget_new ipc/util.c:285 [inline]
         ipcget+0x21e/0x580 ipc/util.c:639
         SYSC_shmget ipc/shm.c:673 [inline]
         SyS_shmget+0x158/0x230 ipc/shm.c:657
         entry_SYSCALL_64_fastpath+0x1f/0xc2
    
    Analysis provided by Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    
    Link: http://lkml.kernel.org/r/1490477850-7944-1-git-send-email-mike.kravetz@oracle.com
    Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
    Reported-by: Dmitry Vyukov <dvyukov@google.com>
    Acked-by: Hillf Danton <hillf.zj@alibaba-inc.com>
    Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c533c11d8f7a4c93d2f11deeeaf0d69a3a76412c
Author: Ondrej Zary <linux@rainbow-software.org>
Date:   Fri Mar 31 20:35:42 2017 +0200

    sata_via: Enable hotplug only on VT6421
    
    
    [ Upstream commit 3cf864520e877505158f09075794a08abab11bbe ]
    
    Commit 57e5568fda27 ("sata_via: Implement hotplug for VT6421") adds
    hotplug IRQ handler for VT6421 but enables hotplug on all chips. This
    is a bug because it causes "irq xx: nobody cared" error on VT6420 when
    hot-(un)plugging a drive:
    
    [  381.839948] irq 20: nobody cared (try booting with the "irqpoll" option)
    [  381.840014] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.10.0-rc5+ #148
    [  381.840066] Hardware name:          P4VM800/P4VM800, BIOS P1.60 05/29/2006
    [  381.840117] Call Trace:
    [  381.840167]  <IRQ>
    [  381.840225]  ? dump_stack+0x44/0x58
    [  381.840278]  ? __report_bad_irq+0x14/0x97
    [  381.840327]  ? handle_edge_irq+0xa5/0xa5
    [  381.840376]  ? note_interrupt+0x155/0x1cf
    [  381.840426]  ? handle_edge_irq+0xa5/0xa5
    [  381.840474]  ? handle_irq_event_percpu+0x32/0x38
    [  381.840524]  ? handle_irq_event+0x1f/0x38
    [  381.840573]  ? handle_fasteoi_irq+0x69/0xb8
    [  381.840625]  ? handle_irq+0x4f/0x5d
    [  381.840672]  </IRQ>
    [  381.840726]  ? do_IRQ+0x2e/0x8b
    [  381.840782]  ? common_interrupt+0x2c/0x34
    [  381.840836]  ? mwait_idle+0x60/0x82
    [  381.840892]  ? arch_cpu_idle+0x6/0x7
    [  381.840949]  ? do_idle+0x96/0x18e
    [  381.841002]  ? cpu_startup_entry+0x16/0x1a
    [  381.841057]  ? start_kernel+0x319/0x31c
    [  381.841111]  ? startup_32_smp+0x166/0x168
    [  381.841165] handlers:
    [  381.841219] [<c12a7263>] ata_bmdma_interrupt
    [  381.841274] Disabling IRQ #20
    
    Seems that VT6420 can do hotplug too (there's no documentation) but the
    comments say that SCR register access (required for detecting hotplug
    events) can cause problems on these chips.
    
    For now, just keep hotplug disabled on anything other than VT6421.
    
    Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 26899ca9cc6fc5e29c1f489d76a246bcad745f2d
Author: Liu Bo <bo.li.liu@oracle.com>
Date:   Mon Apr 10 12:36:26 2017 -0700

    Btrfs: fix potential use-after-free for cloned bio
    
    
    [ Upstream commit a967efb30b3afa3d858edd6a17f544f9e9e46eea ]
    
    KASAN reports that there is a use-after-free case of bio in btrfs_map_bio.
    
    If we need to submit IOs to several disks at a time, the original bio
    would get cloned and mapped to the destination disk, but we really should
    use the original bio instead of a cloned bio to do the sanity check
    because cloned bios are likely to be freed by its endio.
    
    Reported-by: Diego <diegocg@gmail.com>
    Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
    Reviewed-by: David Sterba <dsterba@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c17acd24c682322563c9c35bd7ed94f13fed3664
Author: Liu Bo <bo.li.liu@oracle.com>
Date:   Fri Apr 7 13:11:10 2017 -0700

    Btrfs: fix segmentation fault when doing dio read
    
    
    [ Upstream commit 97bf5a5589aa3a59c60aa775fc12ec0483fc5002 ]
    
    Commit 2dabb3248453 ("Btrfs: Direct I/O read: Work on sectorsized blocks")
    introduced this bug during iterating bio pages in dio read's endio hook,
    and it could end up with segment fault of the dio reading task.
    
    So the reason is 'if (nr_sectors--)', and it makes the code assume that
    there is one more block in the same page, so page offset is increased and
    the bio which is created to repair the bad block then has an incorrect
    bvec.bv_offset, and a later access of the page content would throw a
    segmentation fault.
    
    This also adds ASSERT to check page offset against page size.
    
    Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
    Reviewed-by: David Sterba <dsterba@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7e2a755497f3f8625fbbbc671f8628d769c0cb36
Author: Ido Schimmel <idosch@mellanox.com>
Date:   Mon Apr 10 14:59:28 2017 +0300

    bridge: netlink: register netdevice before executing changelink
    
    
    [ Upstream commit 5b8d5429daa05bebef6ffd3297df3b502cc6f184 ]
    
    Peter reported a kernel oops when executing the following command:
    
    $ ip link add name test type bridge vlan_default_pvid 1
    
    [13634.939408] BUG: unable to handle kernel NULL pointer dereference at
    0000000000000190
    [13634.939436] IP: __vlan_add+0x73/0x5f0
    [...]
    [13634.939783] Call Trace:
    [13634.939791]  ? pcpu_next_unpop+0x3b/0x50
    [13634.939801]  ? pcpu_alloc+0x3d2/0x680
    [13634.939810]  ? br_vlan_add+0x135/0x1b0
    [13634.939820]  ? __br_vlan_set_default_pvid.part.28+0x204/0x2b0
    [13634.939834]  ? br_changelink+0x120/0x4e0
    [13634.939844]  ? br_dev_newlink+0x50/0x70
    [13634.939854]  ? rtnl_newlink+0x5f5/0x8a0
    [13634.939864]  ? rtnl_newlink+0x176/0x8a0
    [13634.939874]  ? mem_cgroup_commit_charge+0x7c/0x4e0
    [13634.939886]  ? rtnetlink_rcv_msg+0xe1/0x220
    [13634.939896]  ? lookup_fast+0x52/0x370
    [13634.939905]  ? rtnl_newlink+0x8a0/0x8a0
    [13634.939915]  ? netlink_rcv_skb+0xa1/0xc0
    [13634.939925]  ? rtnetlink_rcv+0x24/0x30
    [13634.939934]  ? netlink_unicast+0x177/0x220
    [13634.939944]  ? netlink_sendmsg+0x2fe/0x3b0
    [13634.939954]  ? _copy_from_user+0x39/0x40
    [13634.939964]  ? sock_sendmsg+0x30/0x40
    [13634.940159]  ? ___sys_sendmsg+0x29d/0x2b0
    [13634.940326]  ? __alloc_pages_nodemask+0xdf/0x230
    [13634.940478]  ? mem_cgroup_commit_charge+0x7c/0x4e0
    [13634.940592]  ? mem_cgroup_try_charge+0x76/0x1a0
    [13634.940701]  ? __handle_mm_fault+0xdb9/0x10b0
    [13634.940809]  ? __sys_sendmsg+0x51/0x90
    [13634.940917]  ? entry_SYSCALL_64_fastpath+0x1e/0xad
    
    The problem is that the bridge's VLAN group is created after setting the
    default PVID, when registering the netdevice and executing its
    ndo_init().
    
    Fix this by changing the order of both operations, so that
    br_changelink() is only processed after the netdevice is registered,
    when the VLAN group is already initialized.
    
    Fixes: b6677449dff6 ("bridge: netlink: call br_changelink() during br_dev_newlink()")
    Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
    Signed-off-by: Ido Schimmel <idosch@mellanox.com>
    Reported-by: Peter V. Saveliev <peter@svinota.eu>
    Tested-by: Peter V. Saveliev <peter@svinota.eu>
    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 727a153435fa431c3c99cf5718976bdb73702d06
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Wed Mar 29 20:54:37 2017 +0200

    mmc: sdio: fix alignment issue in struct sdio_func
    
    
    [ Upstream commit 5ef1ecf060f28ecef313b5723f1fd39bf5a35f56 ]
    
    Certain 64-bit systems (e.g. Amlogic Meson GX) require buffers to be
    used for DMA to be 8-byte-aligned. struct sdio_func has an embedded
    small DMA buffer not meeting this requirement.
    When testing switching to descriptor chain mode in meson-gx driver
    SDIO is broken therefore. Fix this by allocating the small DMA buffer
    separately as kmalloc ensures that the returned memory area is
    properly aligned for every basic data type.
    
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Tested-by: Helmut Klein <hgkr.klein@gmail.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8f9bd136b50b15e1ddf12281b34802e948023619
Author: sudarsana.kalluru@cavium.com <sudarsana.kalluru@cavium.com>
Date:   Wed Apr 19 03:19:54 2017 -0700

    qed: Fix possible system hang in the dcbnl-getdcbx() path.
    
    
    [ Upstream commit 62289ba27558553871fd047baadaaeda886c6a63 ]
    
    qed_dcbnl_get_dcbx() API uses kmalloc in GFT_KERNEL mode. The API gets
    invoked in the interrupt context by qed_dcbnl_getdcbx callback. Need
    to invoke this kmalloc in atomic mode.
    
    Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru@cavium.com>
    Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.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 f06316859ce6b812bd791c2092da6351cc6829ab
Author: Florian Fainelli <f.fainelli@gmail.com>
Date:   Mon Apr 24 14:27:21 2017 -0700

    net: dsa: b53: Include IMP/CPU port in dumb forwarding mode
    
    
    [ Upstream commit a424f0de61638cbb5047e0a888c54da9cf471f90 ]
    
    Since Broadcom tags are not enabled in b53 (DSA_PROTO_TAG_NONE), we need
    to make sure that the IMP/CPU port is included in the forwarding
    decision.
    
    Without this change, switching between non-management ports would work,
    but not between management ports and non-management ports thus breaking
    the default state in which DSA switch are brought up.
    
    Fixes: 967dd82ffc52 ("net: dsa: b53: Add support for Broadcom RoboSwitch")
    Reported-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.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 affd26096a590f6a58e6ee8629fcde43cfbed3f6
Author: Ansis Atteka <aatteka@ovn.org>
Date:   Fri Apr 21 15:23:05 2017 -0700

    udp: disable inner UDP checksum offloads in IPsec case
    
    
    [ Upstream commit b40c5f4fde22fb98eff205b3aece05b471c24eed ]
    
    Otherwise, UDP checksum offloads could corrupt ESP packets by attempting
    to calculate UDP checksum when this inner UDP packet is already protected
    by IPsec.
    
    One way to reproduce this bug is to have a VM with virtio_net driver (UFO
    set to ON in the guest VM); and then encapsulate all guest's Ethernet
    frames in Geneve; and then further encrypt Geneve with IPsec.  In this
    case following symptoms are observed:
    1. If using ixgbe NIC, then it will complain with following error message:
       ixgbe 0000:01:00.1: partial checksum but l4 proto=32!
    2. Receiving IPsec stack will drop all the corrupted ESP packets and
       increase XfrmInStateProtoError counter in /proc/net/xfrm_stat.
    3. iperf UDP test from the VM with packet sizes above MTU will not work at
       all.
    4. iperf TCP test from the VM will get ridiculously low performance because.
    
    Signed-off-by: Ansis Atteka <aatteka@ovn.org>
    Co-authored-by: Steffen Klassert <steffen.klassert@secunet.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 65a7a7ce7ffd91f148c2fa0b60c797005918152f
Author: Roman Spychała <roed@onet.eu>
Date:   Thu Apr 20 12:04:10 2017 +0200

    usb: plusb: Add support for PL-27A1
    
    
    [ Upstream commit 6f2aee0c0de65013333bbc26fe50c9c7b09a37f7 ]
    
    This patch adds support for the PL-27A1 by adding the appropriate
    USB ID's. This chip is used in the goobay Active USB 3.0 Data Link
    and Unitek Y-3501 cables.
    
    Signed-off-by: Roman Spychała <roed@onet.eu>
    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 45eacc855552c4f227f396fa877c83e2a7837669
Author: Pan Bian <bianpan2016@163.com>
Date:   Mon Apr 24 18:29:16 2017 +0800

    team: fix memory leaks
    
    
    [ Upstream commit 72ec0bc64b9a5d8e0efcb717abfc757746b101b7 ]
    
    In functions team_nl_send_port_list_get() and
    team_nl_send_options_get(), pointer skb keeps the return value of
    nlmsg_new(). When the call to genlmsg_put() fails, the memory is not
    freed(). This will result in memory leak bugs.
    
    Fixes: 9b00cf2d1024 ("team: implement multipart netlink messages for options transfers")
    Signed-off-by: Pan Bian <bianpan2016@163.com>
    Acked-by: Jiri Pirko <jiri@mellanox.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 897e8c528529f5b53d1a63bbac3802adf5e09170
Author: Alexander Potapenko <glider@google.com>
Date:   Tue Apr 25 18:51:46 2017 +0200

    net/packet: check length in getsockopt() called with PACKET_HDRLEN
    
    
    [ Upstream commit fd2c83b35752f0a8236b976978ad4658df14a59f ]
    
    In the case getsockopt() is called with PACKET_HDRLEN and optlen < 4
    |val| remains uninitialized and the syscall may behave differently
    depending on its value, and even copy garbage to userspace on certain
    architectures. To fix this we now return -EINVAL if optlen is too small.
    
    This bug has been detected with KMSAN.
    
    Signed-off-by: Alexander Potapenko <glider@google.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 1dee03af7325f8a04954f9114cb76945fddb950c
Author: Myungho Jung <mhjungk@gmail.com>
Date:   Tue Apr 25 11:58:15 2017 -0700

    net: core: Prevent from dereferencing null pointer when releasing SKB
    
    
    [ Upstream commit 9899886d5e8ec5b343b1efe44f185a0e68dc6454 ]
    
    Added NULL check to make __dev_kfree_skb_irq consistent with kfree
    family of functions.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=195289
    
    Signed-off-by: Myungho Jung <mhjungk@gmail.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 c593091cfc1bee31b56b555c83dc5f0ed715d7ed
Author: Juerg Haefliger <juerg.haefliger@hpe.com>
Date:   Thu Jan 19 11:40:13 2017 +0100

    lkdtm: Fix Oops when unloading the module
    
    
    [ Upstream commit 9ba60573638e2006170ebcc5489fb1e068afbc8f ]
    
    No jprobe is registered when the module is loaded without specifying a
    crashpoint that uses a jprobe. At the moment, we unconditionally try to
    unregister the jprobe on module unload which results in an Oops. Add a
    check to fix this.
    
    Signed-off-by: Juerg Haefliger <juerg.haefliger@hpe.com>
    Acked-by: Kees Cook <keescook@chromium.org>
    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 6329973bee29d1f35f72b520076151c72c05d0b4
Author: Arvind Yadav <arvind.yadav.cs@gmail.com>
Date:   Mon Jan 2 15:18:21 2017 +0530

    mips: ath79: clock:- Unmap region obtained by of_iomap
    
    
    [ Upstream commit b3d91db3f71d5f70ea60d900425a3f96aeb3d065 ]
    
    Free memory mapping, if ath79_clocks_init_dt_ng is not successful.
    
    Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
    Fixes: 3bdf1071ba7d ("MIPS: ath79: update devicetree clock support for AR9132")
    Cc: antonynpavlov@gmail.com
    Cc: albeu@free.fr
    Cc: hackpascal@gmail.com
    Cc: sboyd@codeaurora.org
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/14915/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 30a0220a5b0bd343e1c55a3e861e33607aef787b
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Tue Jan 17 16:18:40 2017 +0100

    MIPS: Lantiq: Fix another request_mem_region() return code check
    
    
    [ Upstream commit 98ea51cb0c8ce009d9da1fd7b48f0ff1d7a9bbb0 ]
    
    Hauke already fixed a couple of them, but one instance remains
    that checks for a negative integer when it should check
    for a NULL pointer:
    
    arch/mips/lantiq/xway/sysctrl.c: In function 'ltq_soc_init':
    arch/mips/lantiq/xway/sysctrl.c:473:19: error: ordered comparison of pointer with integer zero [-Werror=extra]
    
    Fixes: 6e807852676a ("MIPS: Lantiq: Fix check for return value of request_mem_region()")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Cc: John Crispin <john@phrozen.org>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/15043/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fd9597d6ea2803f1929bc9e91ea159e5a9be8480
Author: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Date:   Fri Jan 20 16:20:11 2017 +0100

    HID: wacom: release the resources before leaving despite devm
    
    
    [ Upstream commit 5b779fc52020ac6f5beea31c5eafc3d25cf70dc1 ]
    
    In the general case, the resources are properly released by devm without
    needing to do anything. However, when unplugging the wireless receiver,
    the kernel segfaults from time to time while calling devres_release_all().
    
    I think in that case the resources attempt to access hid_get_drvdata(hdev)
    which has been set to null while leaving wacom_remove().
    
    Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Acked-by: Jason Gerecke <jason.gerecke@wacom.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d621f970fd71d30a84199f1890cddcbd503829bc
Author: Brian Starkey <brian.starkey@arm.com>
Date:   Wed Dec 7 13:20:28 2016 +0000

    drm: mali-dp: Fix transposed horizontal/vertical flip
    
    
    [ Upstream commit 7916efe5b57505080b3cebf5bdb228b4eda008ea ]
    
    The horizontal and vertical flip flags were the wrong way around,
    causing reflect-x to result in reflect-y being applied and vice-versa.
    Fix them.
    
    Fixes: ad49f8602fe8 ("drm/arm: Add support for Mali Display Processors")
    
    Signed-off-by: Brian Starkey <brian.starkey@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 c6737116517005b7b4d38821b21841a92125effb
Author: Brian Starkey <brian.starkey@arm.com>
Date:   Wed Dec 7 13:17:21 2016 +0000

    drm: mali-dp: Fix destination size handling when rotating
    
    
    [ Upstream commit edabb3c4cd2d035bc93a3d67b25a304ea6217301 ]
    
    The destination rectangle provided by userspace in the CRTC_X/Y/W/H
    properties is already expressed as the dimensions after rotation.
    This means we shouldn't swap the width and height ourselves when a
    90/270 degree rotation is requested, so remove the code doing the swap.
    
    Fixes: ad49f8602fe8 ("drm/arm: Add support for Mali Display Processors")
    
    Signed-off-by: Brian Starkey <brian.starkey@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 e2d1a42ed06e98fee10fc3d5be30f9cb06a6dfc0
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Fri Jan 20 14:07:52 2017 +0100

    ASoC: dapm: fix some pointer error handling
    
    
    [ Upstream commit 639467c8f26d834c934215e8b59129ce442475fe ]
    
    commit 66feeec9322132689d42723df2537d60f96f8e44
    "RFC: ASoC: dapm: handle probe deferrals"
    forgot a to update some two sites where the call
    was used. The static codechecks quickly found them.
    
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Fixes: 66feeec93221 ("RFC: ASoC: dapm: handle probe deferrals")
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4302bc4f40b1ed8328e0cb358d1d34f56b6b47c2
Author: Axel Köllhofer <AxelKoellhofer@web.de>
Date:   Tue Jan 17 18:18:55 2017 -0500

    rtl8xxxu: Add additional USB IDs for rtl8192eu devices
    
    
    [ Upstream commit 5407fd7de69f3352aed659244d4bef18e3cabf5c ]
    
    These IDs originate from the vendor driver
    
    Signed-off-by: Axel Köllhofer <AxelKoellhofer@web.de>
    Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.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 3f22900466a1e51df3da33c4ca338aa3d0632274
Author: Peter Chen <peter.chen@nxp.com>
Date:   Wed Oct 19 15:32:58 2016 +0800

    usb: chipidea: vbus event may exist before starting gadget
    
    
    [ Upstream commit c3b674a04b8ab62a1d35e86714d466af0a0ecc18 ]
    
    At some situations, the vbus may already be there before starting
    gadget. So we need to check vbus event after switching to gadget in
    order to handle missing vbus event. The typical use cases are plugging
    vbus cable before driver load or the vbus has already been there
    after stopping host but before starting gadget.
    
    Signed-off-by: Peter Chen <peter.chen@nxp.com>
    Tested-by: Stephen Boyd <stephen.boyd@linaro.org>
    Reported-by: Stephen Boyd <stephen.boyd@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 75d1888ddce9dbe8774755735ee235dd03b2dd33
Author: Sricharan R <sricharan@codeaurora.org>
Date:   Fri Jan 6 18:58:15 2017 +0530

    iommu/arm-smmu: Set privileged attribute to 'default' instead of 'unprivileged'
    
    
    [ Upstream commit e19898077cfb642fe151ba22981e795c74d9e114 ]
    
    Currently the driver sets all the device transactions privileges
    to UNPRIVILEGED, but there are cases where the iommu masters wants
    to isolate privileged supervisor and unprivileged user.
    So don't override the privileged setting to unprivileged, instead
    set it to default as incoming and let it be controlled by the pagetable
    settings.
    
    Acked-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Sricharan R <sricharan@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 4af5e6136d766aef735f9b65534a0c4c4ca35ad4
Author: David E. Box <david.e.box@linux.intel.com>
Date:   Thu Jan 19 16:25:21 2017 +0200

    spi: pxa2xx: Add support for Intel Gemini Lake
    
    
    [ Upstream commit e18a80acd1365e91e3efcd69942d9073936cf851 ]
    
    Gemini Lake reuses the same LPSS SPI configuration as Broxton
    
    Signed-off-by: David E. Box <david.e.box@linux.intel.com>
    Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 874b5acede7892b24cb883b61c1aee9d8842fd0f
Author: Michal Kazior <michal.kazior@tieto.com>
Date:   Thu Jan 12 16:14:30 2017 +0100

    ath10k: prevent sta pointer rcu violation
    
    
    [ Upstream commit 0a744d927406389e00687560d9ce3c5ab0e58db9 ]
    
    Station pointers are RCU protected so driver must
    be extra careful if it tries to store them
    internally for later use outside of the RCU
    section it obtained it in.
    
    It was possible for station teardown to race with
    some htt events. The possible outcome could be a
    use-after-free and a crash.
    
    Only peer-flow-control capable firmware was
    affected (so hardware-wise qca99x0 and qca4019).
    
    This could be done in sta_state() itself via
    explicit synchronize_net() call but there's
    already a convenient sta_pre_rcu_remove() op that
    can be hooked up to avoid extra rcu stall.
    
    The peer->sta pointer itself can't be set to
    NULL/ERR_PTR because it is later used in
    sta_state() for extra sanity checks.
    
    Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
    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 91e66498a96a1cfac4b7c0c82b0027232856623c
Author: Richard Guy Briggs <rgb@redhat.com>
Date:   Tue Jan 17 11:07:15 2017 -0500

    audit: log 32-bit socketcalls
    
    
    [ Upstream commit 62bc306e2083436675e33b5bdeb6a77907d35971 ]
    
    32-bit socketcalls were not being logged by audit on x86_64 systems.
    Log them.  This is basically a duplicate of the call from
    net/socket.c:sys_socketcall(), but it addresses the impedance mismatch
    between 32-bit userspace process and 64-bit kernel audit.
    
    See: https://github.com/linux-audit/audit-kernel/issues/14
    
    Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
    Acked-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Paul Moore <paul@paul-moore.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit de415c812ec9e8d44d2548f304e6da018121c000
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Fri Jan 13 10:23:52 2017 +0100

    ASoC: dapm: handle probe deferrals
    
    
    [ Upstream commit 37e1df8c95e2c8a57c77eafc097648f6e40a60ff ]
    
    This starts to handle probe deferrals on regulators and clocks
    on the ASoC DAPM.
    
    I came to this patch after audio stopped working on Ux500 ages
    ago and I finally looked into it to see what is wrong. I had
    messages like this in the console since a while back:
    
    ab8500-codec.0: ASoC: Failed to request audioclk: -517
    ab8500-codec.0: ASoC: Failed to create DAPM control audioclk
    ab8500-codec.0: Failed to create new controls -12
    snd-soc-mop500.0: ASoC: failed to instantiate card -12
    snd-soc-mop500.0: Error: snd_soc_register_card failed (-12)!
    snd-soc-mop500: probe of snd-soc-mop500.0 failed with error -12
    
    Apparently because the widget table for the codec looks like
    this (sound/soc/codecs/ab8500-codec.c):
    
    static const struct snd_soc_dapm_widget ab8500_dapm_widgets[] = {
    
            /* Clocks */
            SND_SOC_DAPM_CLOCK_SUPPLY("audioclk"),
    
            /* Regulators */
            SND_SOC_DAPM_REGULATOR_SUPPLY("V-AUD", 0, 0),
            SND_SOC_DAPM_REGULATOR_SUPPLY("V-AMIC1", 0, 0),
            SND_SOC_DAPM_REGULATOR_SUPPLY("V-AMIC2", 0, 0),
            SND_SOC_DAPM_REGULATOR_SUPPLY("V-DMIC", 0, 0),
    
    So when we call snd_soc_register_codec() and any of these widgets
    get a deferred probe we do not get an -EPROBE_DEFER (-517) back as
    we should and instead we just fail. Apparently the code assumes
    that clocks and regulators must be available at this point and
    not defer.
    
    After this patch it rather looks like this:
    
    ab8500-codec.0: Failed to create new controls -517
    snd-soc-mop500.0: ASoC: failed to instantiate card -517
    snd-soc-mop500.0: Error: snd_soc_register_card failed (-517)!
    (...)
    abx500-clk.0: registered clocks for ab850x
    snd-soc-mop500.0: ab8500-codec-dai.0 <-> ux500-msp-i2s.1 mapping ok
    snd-soc-mop500.0: ab8500-codec-dai.1 <-> ux500-msp-i2s.3 mapping ok
    
    I'm pretty happy about the patch as it it, but I'm a bit
    uncertain on how to proceed: there are a lot of users of the
    external functions snd_soc_dapm_new_control() (111 sites)
    and that will now return an occassional error pointer, which
    is not handled in the calling sites.
    
    I want an indication from the maintainers whether I should just
    go in and augment all these call sites, or if deferred probe
    is frowned upon when it leads to this much overhead.
    
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0fc89de6ee777cf48a291505164da2c5eef17311
Author: Alden Tondettar <alden.tondettar@gmail.com>
Date:   Sun Jan 15 15:31:56 2017 -0700

    partitions/efi: Fix integer overflow in GPT size calculation
    
    
    [ Upstream commit c5082b70adfe8e1ea1cf4a8eff92c9f260e364d2 ]
    
    If a GUID Partition Table claims to have more than 2**25 entries, the
    calculation of the partition table size in alloc_read_gpt_entries() will
    overflow a 32-bit integer and not enough space will be allocated for the
    table.
    
    Nothing seems to get written out of bounds, but later efi_partition() will
    read up to 32768 bytes from a 128 byte buffer, possibly OOPSing or exposing
    information to /proc/partitions and uevents.
    
    The problem exists on both 64-bit and 32-bit platforms.
    
    Fix the overflow and also print a meaningful debug message if the table
    size is too large.
    
    Signed-off-by: Alden Tondettar <alden.tondettar@gmail.com>
    Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Jens Axboe <axboe@fb.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit eaf9616e406c05c30bb7366be4aae631a715c7ae
Author: Edward Cree <ecree@solarflare.com>
Date:   Fri Jan 13 21:20:29 2017 +0000

    sfc: get PIO buffer size from the NIC
    
    
    [ Upstream commit c634700f7eec3c0da46e299cd0a0ae8b594f9b55 ]
    
    The 8000 series SFC NICs have 4K PIO buffers, rather than the 2K of
     the 7000 series.  Rather than having a hard-coded PIO buffer size
     (ER_DZ_TX_PIOBUF_SIZE), read it from the GET_CAPABILITIES_V2 MCDI
     response.
    
    Signed-off-by: Edward Cree <ecree@solarflare.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 c6d263e6b30af4040a61bcceef2fdae33711ad0d
Author: Johan Hovold <johan@kernel.org>
Date:   Thu Jan 12 14:56:18 2017 +0100

    USB: serial: mos7840: fix control-message error handling
    
    
    [ Upstream commit cd8db057e93ddaacbec025b567490555d2bca280 ]
    
    Make sure to detect short transfers when reading a device register.
    
    The modem-status handling had sufficient error checks in place, but move
    handling of short transfers into the register accessor function itself
    for consistency.
    
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9553708eb98dd81357eb9be51b6317387d2e7ac4
Author: Johan Hovold <johan@kernel.org>
Date:   Thu Jan 12 14:56:17 2017 +0100

    USB: serial: mos7720: fix control-message error handling
    
    
    [ Upstream commit 0d130367abf582e7cbf60075c2a7ab53817b1d14 ]
    
    Make sure to log an error on short transfers when reading a device
    register.
    
    Also clear the provided buffer (which if often an uninitialised
    automatic variable) on errors as the driver currently does not bother to
    check for errors.
    
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 09831a9577669fa16f4369a934e88d8ff644cfe0
Author: Pan Bian <bianpan2016@163.com>
Date:   Thu Dec 1 16:10:42 2016 +0800

    drm/amdkfd: fix improper return value on error
    
    
    [ Upstream commit 8bf793883da213864efc50c274d2b38ec0ca58b2 ]
    
    In function kfd_wait_on_events(), when the call to copy_from_user()
    fails, the value of return variable ret is 0. 0 indicates success, which
    is inconsistent with the execution status. This patch fixes the bug by
    assigning "-EFAULT" to ret when copy_from_user() returns an unexpected
    value.
    
    Signed-off-by: Pan Bian <bianpan2016@163.com>
    Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 68b94d6c4edb74bd71d539dffc0bd0ca8a16dea4
Author: James Liao <jamesjj.liao@mediatek.com>
Date:   Wed Dec 28 13:46:45 2016 +0800

    arm: dts: mt2701: Add subsystem clock controller device nodes
    
    
    [ Upstream commit f235c7e7a75325f28a33559a71f25a0eca6112db ]
    
    Add MT2701 subsystem clock controllers, inlcude mmsys, imgsys,
    vdecsys, hifsys, ethsys and bdpsys.
    
    Signed-off-by: James Liao <jamesjj.liao@mediatek.com>
    Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

    IB/ipoib: Replace list_del of the neigh->list with list_del_init
    
    
    [ Upstream commit c586071d1dc8227a7182179b8e50ee92cc43f6d2 ]
    
    In order to resolve a situation where a few process delete
    the same list element in sequence and cause panic, list_del
    is replaced with list_del_init. In this case if the first
    process that calls list_del releases the lock before acquiring
    it again, other processes who can acquire the lock will call
    list_del_init.
    
    Fixes: b63b70d87741 ("IPoIB: Use a private hash table for path lookup")
    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 e335016d1f627926a0b0cbeedca059040e7ba64b
Author: Feras Daoud <ferasda@mellanox.com>
Date:   Wed Dec 28 14:47:24 2016 +0200

    IB/ipoib: rtnl_unlock can not come after free_netdev
    
    
    [ Upstream commit 89a3987ab7a923c047c6dec008e60ad6f41fac22 ]
    
    The ipoib_vlan_add function calls rtnl_unlock after free_netdev,
    rtnl_unlock not only releases the lock, but also calls netdev_run_todo.
    The latter function browses the net_todo_list array and completes the
    unregistration of all its net_device instances. If we call free_netdev
    before rtnl_unlock, then netdev_run_todo call over the freed device causes
    panic.
    To fix, move rtnl_unlock call before free_netdev call.
    
    Fixes: 9baa0b036410 ("IB/ipoib: Add rtnl_link_ops support")
    Cc: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Feras Daoud <ferasda@mellanox.com>
    Signed-off-by: Erez Shitrit <erezsh@mellanox.com>
    Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    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 e384bbd585ee1b39c9b4da9141bc7c7215d9c224
Author: Feras Daoud <ferasda@mellanox.com>
Date:   Wed Dec 28 14:47:22 2016 +0200

    IB/ipoib: Fix deadlock over vlan_mutex
    
    
    [ Upstream commit 1c3098cdb05207e740715857df7b0998e372f527 ]
    
    This patch fixes Deadlock while executing ipoib_vlan_delete.
    
    The function takes the vlan_rwsem semaphore and calls
    unregister_netdevice. The later function calls
    ipoib_mcast_stop_thread that cause workqueue flush.
    
    When the queue has one of the ipoib_ib_dev_flush_xxx events,
    a deadlock occur because these events also tries to catch the
    same vlan_rwsem semaphore.
    
    To fix, unregister_netdevice should be called after releasing
    the semaphore.
    
    Fixes: cbbe1efa4972 ("IPoIB: Fix deadlock between ipoib_open() and child interface create")
    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>
    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 6c25cbaff1e9d68e808818526cfabe14aa1d6a50
Author: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
Date:   Tue Jan 10 18:11:29 2017 +0300

    serial: 8250_port: Remove dangerous pr_debug()
    
    
    [ Upstream commit 699a11ba7ec869b006623182881f2f1f5b4aea53 ]
    
    With CONFIG_DYNAMIC_DEBUG if dyndbg enables debug output in
    8250_port.c deadlock happens inevitably on UART IRQ handling.
    
    That's the problematic execution path:
    ---------------------------->8------------------------
    UART IRQ:
      serial8250_interrupt() ->
        serial8250_handle_irq(): lock "port->lock" ->
          pr_debug() ->
            serial8250_console_write(): bump in locked "port->lock".
    
          OR (if above pr_debug() gets removed):
          serial8250_tx_chars() ->
            pr_debug() ->
              serial8250_console_write(): bump in locked "port->lock".
    ---------------------------->8------------------------
    
    So let's get rid of those not that much useful debug entries.
    
    Discussed problem could be easily reproduced with QEMU for x86_64.
    As well as this fix could be mimicked with muting of dynamic debug for
    the problematic lines as simple as:
    ---------------------------->8------------------------
    dyndbg="+p; file 8250_port.c line 1756 -p; file 8250_port.c line 1822 -p"
    ---------------------------->8------------------------
    
    Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
    Cc: Jiri Slaby <jslaby@suse.com>
    Cc: Peter Hurley <peter@hurleysoftware.com>
    Cc: Phillip Raffeck <phillip.raffeck@fau.de>
    Cc: Anton Wuerfel <anton.wuerfel@fau.de>
    Cc: "Matwey V. Kornilov" <matwey@sai.msu.ru>
    Cc: Yegor Yefremov <yegorslists@googlemail.com>
    Cc: Thor Thayer <tthayer@opensource.altera.com>
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.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 ca3e4e77201a8e4bb93b2fef4847f2b59ee23f7a
Author: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Date:   Mon Jan 9 01:26:37 2017 +0100

    tty: goldfish: Fix a parameter of a call to free_irq
    
    
    [ Upstream commit 1a5c2d1de7d35f5eb9793266237903348989502b ]
    
    'request_irq()' and 'free_irq()' should be called with the same dev_id.
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    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 5d29957578aea3a5d84baf2e5d863f4f5be24222
Author: Matwey V. Kornilov <matwey@sai.msu.ru>
Date:   Thu Dec 29 21:48:51 2016 +0300

    serial: 8250: moxa: Store num_ports in brd
    
    
    [ Upstream commit 9c4b60fe5313c125b1bf68ef04b0010512c27f2d ]
    
    When struct moxa8250_board is allocated, then num_ports should
    be initialized in order to use it later in moxa8250_remove.
    
    Signed-off-by: Matwey V. Kornilov <matwey@sai.msu.ru>
    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 d976d68e17269767a33b4646add0c41a40e7eed5
Author: Nagaraju, Vathsala <vathsala.nagaraju@intel.com>
Date:   Tue Jan 10 12:32:26 2017 +0530

    drm/i915/psr: disable psr2 for resolution greater than 32X20
    
    
    [ Upstream commit acf45d11050abd751dcec986ab121cb2367dcbba ]
    
    PSR2 is restricted to work with panel resolutions upto 3200x2000,
    move the check to intel_psr_match_conditions and fully block psr.
    
    Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Cc: Jim Bride <jim.bride@linux.intel.com>
    Suggested-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: Vathsala Nagaraju <vathsala.nagaraju@intel.com>
    Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/1484031746-20874-1-git-send-email-vathsala.nagaraju@intel.com
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e92dca6f5a14310a950b9ca040188d0ce2ba08c9
Author: Afzal Mohammed <afzal.mohd.ma@gmail.com>
Date:   Sat Jan 7 17:48:10 2017 +0100

    ARM: 8635/1: nommu: allow enabling REMAP_VECTORS_TO_RAM
    
    
    [ Upstream commit 8a792e9afbce84a0fdaf213fe42bb97382487094 ]
    
    REMAP_VECTORS_TO_RAM depends on DRAM_BASE, but since DRAM_BASE is a
    hex, REMAP_VECTORS_TO_RAM could never get enabled. Also depending on
    DRAM_BASE is redundant as whenever REMAP_VECTORS_TO_RAM makes itself
    available to Kconfig, DRAM_BASE also is available as the Kconfig
    gets sourced on !MMU.
    
    Signed-off-by: Afzal Mohammed <afzal.mohd.ma@gmail.com>
    Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

    IB/rxe: Fix a MR reference leak in check_rkey()
    
    
    [ Upstream commit b3a459961014b14c267544c327db033669493295 ]
    
    Avoid that calling check_rkey() for mem->state == RXE_MEM_STATE_FREE
    triggers an MR reference leak.
    
    Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.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 0081b9e7fcf75e65496f85896d2c3bb42e2a4dd7
Author: Bart Van Assche <bart.vanassche@sandisk.com>
Date:   Tue Jan 10 11:15:48 2017 -0800

    IB/rxe: Add a runtime check in alloc_index()
    
    
    [ Upstream commit 642c7cbcaf2ffc1e27f67eda3dc47347ac5aff37 ]
    
    Since index values equal to or above 'range' can trigger memory
    corruption, complain if index >= range.
    
    Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.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 2b7aec8839dfe6482b8f6e0b8be0951fc990e964
Author: Andreas Klinger <ak@it-klinger.de>
Date:   Thu Jan 5 18:51:36 2017 +0100

    iio: adc: hx711: Add DT binding for avia,hx711
    
    
    [ Upstream commit ff1293f67734da68e23fecb6ecdae7112b8c43f9 ]
    
    Add DT bindings for avia,hx711
    Add vendor avia to vendor list
    
    Signed-off-by: Andreas Klinger <ak@it-klinger.de>
    Acked-by: Rob Herring <robh@kernel.org>
    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 ff9b56037dd7f0c6d46186122473388f1904e445
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Wed Dec 14 14:55:25 2016 +0100

    iio: adc: axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register modifications
    
    
    [ Upstream commit fa2849e9649b5180ffc4cb3c3b005261c403093a ]
    
    For some reason the axp288_adc driver was modifying the
    AXP288_ADC_TS_PIN_CTRL register, changing bits 0-1 depending on
    whether the GP_ADC channel or another channel was written.
    
    These bits control when a bias current is send to the TS_PIN, the
    GP_ADC has its own pin and a separate bit in another register to
    control the bias current.
    
    Not only does changing when to enable the TS_PIN bias current
    (always or only when sampling) when reading the GP_ADC make no sense
    at all, the code is modifying these bits is writing the entire register,
    assuming that all the other bits have their default value.
    
    So if the firmware has configured a different bias-current for either
    pin, then that change gets clobbered by the write, likewise if the
    firmware has set bit 2 to indicate that the battery has no thermal sensor,
    this will get clobbered by the write.
    
    This commit fixes all this, by simply removing all writes to the
    AXP288_ADC_TS_PIN_CTRL register, they are not needed to read the
    GP_ADC pin, and can actually be harmful.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Acked-by: Chen-Yu Tsai <wens@csie.org>
    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 259f317db758ed4e3f325ea1caa950db5a9cd4ce
Author: Javier Martinez Canillas <javier@osg.samsung.com>
Date:   Mon Jan 2 09:45:45 2017 -0300

    iio: adc: imx25-gcq: Fix module autoload
    
    
    [ Upstream commit 8f0d7daf53972da0004f7a5a4d938c85333db300 ]
    
    If the driver is built as a module, autoload won't work because the module
    alias information is not filled. So user-space can't match the registered
    device with the corresponding module.
    
    Export the module alias information using the MODULE_DEVICE_TABLE() macro.
    
    Before this patch:
    
    $ modinfo drivers/iio/adc/fsl-imx25-gcq.ko | grep alias
    $
    
    After this patch:
    
    $ modinfo drivers/iio/adc/fsl-imx25-gcq.ko | grep alias
    alias:          of:N*T*Cfsl,imx25-gcqC*
    alias:          of:N*T*Cfsl,imx25-gcq
    
    Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.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 772384d7ec40c6a32d04b30143796a51944f56fd
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Tue Dec 27 14:15:07 2016 -0800

    hwmon: (gl520sm) Fix overflows and crash seen when writing into limit attributes
    
    
    [ Upstream commit 87cdfa9d60f4f40e6d71b04b10b36d9df3c89282 ]
    
    Writes into limit attributes can overflow due to multplications and
    additions with unbound input values. Writing into fan limit attributes
    can result in a crash with a division by zero if very large values are
    written and the fan divider is larger than 1.
    
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d74f860528fbd0cde7127b617d7695bbc68d8e0f
Author: John Crispin <john@phrozen.org>
Date:   Tue Dec 20 19:08:58 2016 +0100

    usb: make the MTK XHCI driver compile for older MIPS SoCs
    
    
    [ Upstream commit 808cf33d4817c730008de9b2736b357708a3d7f6 ]
    
    The MIPS based MT7621 shares the same XHCI core as the newer generation of
    ARM based SoCs. The driver works out of the box and we only need to make it
    buildable in Kconfig.
    
    Signed-off-by: John Crispin <john@phrozen.org>
    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 952d3c52bd8528e5a3ab91c261c37fd9da789f98
Author: Jose Abreu <Jose.Abreu@synopsys.com>
Date:   Mon Dec 12 11:08:55 2016 +0000

    clk/axs10x: Clear init field in driver probe
    
    
    [ Upstream commit 6205406cf6f282d622f31de25036e6d1ab3a2ff5 ]
    
    Init field must be cleared in driver probe as this structure is not
    dinamically allocated. If not, wrong flags can be passed to core.
    
    Signed-off-by: Jose Abreu <joabreu@synopsys.com>
    Cc: Carlos Palminha <palminha@synopsys.com>
    Cc: Stephen Boyd <sboyd@codeaurora.org>
    Cc: Michael Turquette <mturquette@baylibre.com>
    Cc: linux-clk@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Fixes: 923587aafc2c ("clk/axs10x: Add I2S PLL clock driver")
    Signed-off-by: Michael Turquette <mturquette@baylibre.com>
    Link: lkml.kernel.org/r/040cc9afdfa0e95ce7a01c406ff427ef7dc0c0fd.1481540717.git.joabreu@synopsys.com
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 81c96182466200aa403fa863ff503af0b275a93f
Author: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Date:   Mon Jan 9 16:34:04 2017 +0100

    sh_eth: use correct name for ECMR_MPDE bit
    
    
    [ Upstream commit 6dcf45e514974a1ff10755015b5e06746a033e5f ]
    
    This bit was wrongly named due to a typo, Sergei checked the SH7734/63
    manuals and this bit should be named MPDE.
    
    Suggested-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
    Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
    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 bed7533196b2844088004975279c3674c7c424c5
Author: Jiancheng Xue <xuejiancheng@hisilicon.com>
Date:   Wed Nov 30 09:03:32 2016 +0800

    reset: ti_syscon: fix a ti_syscon_reset_status issue
    
    
    [ Upstream commit 5987b4bf512101137fa60c5c0ccac3db51541221 ]
    
    If STATUS_SET was not set, ti_syscon_reset_status would always return 0
    no matter whether the status_bit was set or not.
    
    Signed-off-by: Jiancheng Xue <xuejiancheng@hisilicon.com>
    Fixes: cc7c2bb1493c ("reset: add TI SYSCON based reset driver")
    Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6798f079b0a54caf69e1bde89cf997a2ade38f2e
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Mon Dec 19 01:13:11 2016 +0100

    extcon: axp288: Use vbus-valid instead of -present to determine cable presence
    
    
    [ Upstream commit 5757aca10146061befd168dab37fb0db1ccd8f73 ]
    
    The vbus-present bit in the power status register also gets set to 1
    when a usb-host cable (id-pin shorted to ground) is plugged in and a 5v
    boost converter is supplying 5v to the otg usb bus.
    
    This causes a "disconnect or unknown or ID event" warning in dmesg as
    well as the extcon device to report the last detected charger cable
    type as being connected even though none is connected.
    
    This commit switches to checking the vbus-valid bit instead, which is
    only 1 when both vbus is present and the vbus-path is enabled in the
    vbus-path control register (the vbus-path gets disabled when a usb-host
    cable is detected, to avoid the pmic drawing power from the 5v boost
    converter).
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
    Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bc438831606acd445bad9f7df20ac6ce87d5b490
Author: Guilherme G Piccoli <gpiccoli@linux.vnet.ibm.com>
Date:   Thu Nov 10 16:46:43 2016 -0200

    igb: re-assign hw address pointer on reset after PCI error
    
    
    [ Upstream commit 69b97cf6dbce7403845a28bbc75d57f5be7b12ac ]
    
    Whenever the igb driver detects the result of a read operation returns
    a value composed only by F's (like 0xFFFFFFFF), it will detach the
    net_device, clear the hw_addr pointer and warn to the user that adapter's
    link is lost - those steps happen on igb_rd32().
    
    In case a PCI error happens on Power architecture, there's a recovery
    mechanism called EEH, that will reset the PCI slot and call driver's
    handlers to reset the adapter and network functionality as well.
    
    We observed that once hw_addr is NULL after the error is detected on
    igb_rd32(), it's never assigned back, so in the process of resetting
    the network functionality we got a NULL pointer dereference in both
    igb_configure_tx_ring() and igb_configure_rx_ring(). In order to avoid
    such bug, this patch re-assigns the hw_addr value in the slot_reset
    handler.
    
    Reported-by: Anthony H Thai <ahthai@us.ibm.com>
    Reported-by: Harsha Thyagaraja <hathyaga@in.ibm.com>
    Signed-off-by: Guilherme G Piccoli <gpiccoli@linux.vnet.ibm.com>
    Tested-by: Aaron Brown <aaron.f.brown@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 484e3e7934491fc0a2e72951d3a6eec24d0ad0da
Author: Marcin Niestroj <m.niestroj@grinn-global.com>
Date:   Fri Dec 9 12:33:27 2016 +0100

    ARM: dts: am335x-chilisom: Wakeup from RTC-only state by power on event
    
    
    [ Upstream commit ca244a83ecc7f0a9242ee2116e622cb6d7ec2a90 ]
    
    On chiliSOM TPS65217 nWAKEUP pin is connected to AM335x internal RTC
    EXT_WAKEUP input. In RTC-only state TPS65217 is notifying about power on
    events (such as power buton presses) by setting nWAKEUP output
    low. After that it waits 5s for proper device boot. Currently it doesn't
    happen, as the processor doesn't listen for such events. Consequently
    TPS65217 changes state from SLEEP (RTC-only state) to OFF.
    
    Enable EXT_WAKEUP input of AM335x's RTC, so the processor can properly
    detect power on events and recover immediately from RTC-only states,
    without powering off RTC and losing time.
    
    Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
    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 bc9ad17c7af2d04e376246f245a0c95c652db3ce
Author: Jitendra Bhivare <jitendra.bhivare@broadcom.com>
Date:   Tue Dec 13 15:56:03 2016 +0530

    scsi: be2iscsi: Add checks to validate CID alloc/free
    
    
    [ Upstream commit 413f365657a8b9669bd0ba3628e9fde9ce63604e ]
    
    Set CID slot to 0xffff to indicate empty.
    Check if connection already exists in conn_table before binding.
    Check if endpoint already NULL before putting back CID.
    Break ep->conn link in free_ep to ignore completions after freeing.
    
    Signed-off-by: Jitendra Bhivare <jitendra.bhivare@broadcom.com>
    Reviewed-by: Hannes Reinecke <hare@suse.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 36c56ac0f8977ac189d27a7aa401ea9dca678c5d
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Wed Dec 14 17:38:50 2016 +0100

    power: supply: axp288_fuel_gauge: Fix fuel_gauge_reg_readb return on error
    
    
    [ Upstream commit 6f074bc878dc9b00c0df0bf3a8cb1d9e294cd881 ]
    
    If reading the register fails, return the actual error code, instead
    of the uninitialized val variable;
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Sebastian Reichel <sre@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0cde56d3b6721e8a69260861d268a8adcc6fcd33
Author: Colin Ian King <colin.king@canonical.com>
Date:   Thu Dec 22 23:52:58 2016 +0000

    MIPS: ralink: Fix incorrect assignment on ralink_soc
    
    
    [ Upstream commit 08d90c81b714482dceb5323d14f6617bcf55ee61 ]
    
    ralink_soc sould be assigned to RT3883_SOC, replace incorrect
    comparision with assignment.
    
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Fixes: 418d29c87061 ("MIPS: ralink: Unify SoC id handling")
    Cc: John Crispin <john@phrozen.org>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/14903/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0e22be793ad292d9a7e4dfb9d757151815df6c59
Author: John Crispin <john@phrozen.org>
Date:   Tue Dec 20 19:12:43 2016 +0100

    MIPS: ralink: Fix a typo in the pinmux setup.
    
    
    [ Upstream commit 58181a117d353427127a2e7afc7cf1ab44759828 ]
    
    There is a typo inside the pinmux setup code. The function is really
    called utif and not util. This was recently discovered when people were
    trying to make the UTIF interface work.
    
    Signed-off-by: John Crispin <john@phrozen.org>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/14899/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 84eaa74d734afb0f13bc6c3a9eb9339d105048d5
Author: Paul Burton <paul.burton@imgtec.com>
Date:   Mon Nov 7 11:52:19 2016 +0000

    MIPS: Ensure bss section ends on a long-aligned address
    
    
    [ Upstream commit 3f00f4d8f083bc61005d0a1ef592b149f5c88bbd ]
    
    When clearing the .bss section in kernel_entry we do so using LONG_S
    instructions, and branch whilst the current write address doesn't equal
    the end of the .bss section minus the size of a long integer. The .bss
    section always begins at a long-aligned address and we always increment
    the write pointer by the size of a long integer - we therefore rely upon
    the .bss section ending at a long-aligned address. If this is not the
    case then the long-aligned write address can never be equal to the
    non-long-aligned end address & we will continue to increment past the
    end of the .bss section, attempting to zero the rest of memory.
    
    Despite this requirement that .bss end at a long-aligned address we pass
    0 as the end alignment requirement to the BSS_SECTION macro and thus
    don't guarantee any particular alignment, allowing us to hit the error
    condition described above.
    
    Fix this by instead passing 8 bytes as the end alignment argument to
    the BSS_SECTION macro, ensuring that the end of the .bss section is
    always at least long-aligned.
    
    Signed-off-by: Paul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/14526/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d1d3a78f3e8f2d2acff540d8576433eefa1ef622
Author: Simon Horman <horms+renesas@verge.net.au>
Date:   Tue Dec 20 11:32:39 2016 +0100

    ARM: dts: r8a7790: Use R-Car Gen 2 fallback binding for msiof nodes
    
    
    [ Upstream commit 654450baf2afba86cf328e1849ccac61ec4630af ]
    
    Use recently added R-Car Gen 2 fallback binding for msiof nodes in
    DT for r8a7790 SoC.
    
    This has no run-time effect for the current driver as the initialisation
    sequence is the same for the SoC-specific binding for r8a7790 and the
    fallback binding for R-Car Gen 2.
    
    Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3311a304ec62c4bc466656638bf6ea947b4eb7ec
Author: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Date:   Thu Feb 18 20:06:47 2016 -0800

    RDS: RDMA: Fix the composite message user notification
    
    
    [ Upstream commit 941f8d55f6d613a460a5e080d25a38509f45eb75 ]
    
    When application sends an RDS RDMA composite message consist of
    RDMA transfer to be followed up by non RDMA payload, it expect to
    be notified *only* when the full message gets delivered. RDS RDMA
    notification doesn't behave this way though.
    
    Thanks to Venkat for debug and root casuing the issue
    where only first part of the message(RDMA) was
    successfully delivered but remainder payload delivery failed.
    In that case, application should not be notified with
    a false positive of message delivery success.
    
    Fix this case by making sure the user gets notified only after
    the full message delivery.
    
    Reviewed-by: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
    Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit aa07a2ccc80d4a0fbb402e9eb2ba3912a45af807
Author: Ondrej Jirman <megous@megous.com>
Date:   Fri Nov 25 01:28:47 2016 +0100

    clk: sunxi-ng: fix PLL_CPUX adjusting on H3
    
    
    [ Upstream commit a43c96427e713bea94e9ef50e8be1f493afc0691 ]
    
    When adjusting PLL_CPUX on H3, the PLL is temporarily driven
    too high, and the system becomes unstable (oopses or hangs).
    
    Add a notifier to avoid this situation by temporarily switching
    to a known stable 24 MHz oscillator.
    
    Signed-off-by: Ondrej Jirman <megous@megous.com>
    Tested-by: Lutz Sammer <johns98@gmx.net>
    Acked-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 299b924c1f20fc428221bce79c5318684af79347
Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Date:   Thu Dec 29 14:36:51 2016 +0100

    ARM: dts: exynos: Add CPU OPPs for Exynos4412 Prime
    
    
    [ Upstream commit 80b7a2e2498bcffb1a79980dfbeb7a1275577b28 ]
    
    Add CPU operating points for Exynos4412 Prime (it supports
    additional 1704MHz & 1600MHz OPPs and 1500MHz OPP is just
    a regular non-turbo OPP on this SoC).  Also update relevant
    cooling maps to account for new OPPs.
    
    ODROID-X2/U2/U3 boards use Exynos4412 Prime SoC version so
    update their board files accordingly.
    
    Based on Hardkernel's kernel for ODROID-X2/U2/U3 boards.
    
    Cc: Doug Anderson <dianders@chromium.org>
    Cc: Andreas Faerber <afaerber@suse.de>
    Cc: Thomas Abraham <thomas.ab@samsung.com>
    Cc: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
    Cc: Ben Gamari <ben@smart-cactus.org>
    Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 48167acb7f5b936b009eb824dfb3cfb7e1a42502
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Wed Dec 7 19:28:06 2016 +0200

    drm/i915: Fix the overlay frontbuffer tracking
    
    
    [ Upstream commit 58d09ebdb4edf5d3ab3a2aee851ab0168bc83ec6 ]
    
    Do the overlay frontbuffer tracking properly so that it matches
    the state of the overlay on/off/continue requests.
    
    One slight problem is that intel_frontbuffer_flip_complete()
    may get delayed by an arbitrarily liong time due to the fact that
    the overlay code likes to bail out when a signal occurs. So the
    flip may not get completed until the ioctl is restarted. But fixing
    that would require bigger surgery, so I decided to ignore it for now.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/1481131693-27993-5-git-send-email-ville.syrjala@linux.intel.com
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 97766c6a8e586308d89309591f73aa3bc5ce0643
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Dec 14 08:02:03 2016 -0600

    GFS2: Fix reference to ERR_PTR in gfs2_glock_iter_next
    
    
    [ Upstream commit 14d37564fa3dc4e5d4c6828afcd26ac14e6796c5 ]
    
    This patch fixes a place where function gfs2_glock_iter_next can
    reference an invalid error pointer.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Bob Peterson <rpeterso@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e236940a87f125de78f94efc44d4a6db043c26d6
Author: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Date:   Tue Dec 13 11:09:16 2016 +0100

    drm: bridge: add DT bindings for TI ths8135
    
    
    [ Upstream commit 2e644be30fcc08c736f66b60f4898d274d4873ab ]
    
    THS8135 is a configurable video DAC. Add DT bindings for this chip.
    
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Acked-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Archit Taneja <architt@codeaurora.org>
    Link: http://patchwork.freedesktop.org/patch/msgid/1481623759-12786-3-git-send-email-bgolaszewski@baylibre.com
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7df306f1063b11407352b61eb014a918a6809c96
Author: Kristian H. Kristensen <hoegsberg@gmail.com>
Date:   Tue Dec 13 11:27:52 2016 -0800

    drm_fourcc: Fix DRM_FORMAT_MOD_LINEAR #define
    
    
    [ Upstream commit af913418261d6d3e7a29f06cf35f04610ead667c ]
    
    We need to define DRM_FORMAT_MOD_VENDOR_NONE for the fourcc_mod_code()
    macro to work correctly.
    
    Signed-off-by: Kristian H. Kristensen <hoegsberg@google.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Link: http://patchwork.freedesktop.org/patch/msgid/1481657272-25975-1-git-send-email-hoegsberg@google.com
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>