commit 88d6de67e390b6093f2c11189ad022988a9e2961
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Mon Jan 27 14:51:23 2020 +0100

    Linux 4.19.99

commit a825e9a7ced544fafc7fdf23cc19ff7216d518ac
Author: Finn Thain <fthain@telegraphics.com.au>
Date:   Sat Dec 1 11:53:10 2018 +1100

    m68k: Call timer_interrupt() with interrupts disabled
    
    [ Upstream commit 1efdd4bd254311498123a15fa0acd565f454da97 ]
    
    Some platforms execute their timer handler with the interrupt priority
    level set below 6. That means the handler could be interrupted by another
    driver and this could lead to re-entry of the timer core.
    
    Avoid this by use of local_irq_save/restore for timer interrupt dispatch.
    This provides mutual exclusion around the timer interrupt flag access
    which is needed later in this series for the clocksource conversion.
    
    Reported-by: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/alpine.DEB.2.21.1811131407120.2697@nanos.tec.linutronix.de
    Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 283163a39a7923da0509270139f6bd48fc82cca9
Author: Christian Hewitt <christianshewitt@gmail.com>
Date:   Mon Sep 9 19:01:24 2019 +0400

    arm64: dts: meson-gxm-khadas-vim2: fix uart_A bluetooth node
    
    [ Upstream commit 388a2772979b625042524d8b91280616ab4ff5ee ]
    
    Fixes: 33344e2111a3 ("arm64: dts: meson-gxm-khadas-vim2: fix Bluetooth support")
    Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
    Reviewed-by: Kevin Hilman <khilman@baylibre.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e44463f267c31d40c064031d697dad691e542eab
Author: Fabrice Gasnier <fabrice.gasnier@st.com>
Date:   Thu Nov 21 09:10:49 2019 +0100

    serial: stm32: fix clearing interrupt error flags
    
    [ Upstream commit 1250ed7114a977cdc2a67a0c09d6cdda63970eb9 ]
    
    The interrupt clear flag register is a "write 1 to clear" register.
    So, only writing ones allows to clear flags:
    - Replace buggy stm32_clr_bits() by a simple write to clear error flags
    - Replace useless read/modify/write stm32_set_bits() routine by a
      simple write to clear TC (transfer complete) flag.
    
    Fixes: 4f01d833fdcd ("serial: stm32: fix rx error handling")
    Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
    Cc: stable <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/1574323849-1909-1-git-send-email-fabrice.gasnier@st.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7e782544fd0821e83426ecedf27852c3be97fbcf
Author: Max Gurtovoy <maxg@mellanox.com>
Date:   Tue Feb 26 12:22:11 2019 +0200

    IB/iser: Fix dma_nents type definition
    
    [ Upstream commit c1545f1a200f4adc4ef8dd534bf33e2f1aa22c2f ]
    
    The retured value from ib_dma_map_sg saved in dma_nents variable. To avoid
    future mismatch between types, define dma_nents as an integer instead of
    unsigned.
    
    Fixes: 57b26497fabe ("IB/iser: Pass the correct number of entries for dma mapped SGL")
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Israel Rukshin <israelr@mellanox.com>
    Signed-off-by: Max Gurtovoy <maxg@mellanox.com>
    Acked-by: Sagi Grimberg <sagi@grimberg.me>
    Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e2a5ad5ac8089ba471fd38b2a61de6a57e651883
Author: Marc Gonzalez <marc.w.gonzalez@free.fr>
Date:   Wed Apr 24 17:00:57 2019 +0200

    usb: dwc3: Allow building USB_DWC3_QCOM without EXTCON
    
    [ Upstream commit 77a4946516fe488b6a33390de6d749f934a243ba ]
    
    Keep EXTCON support optional, as some platforms do not need it.
    
    Do the same for USB_DWC3_OMAP while we're at it.
    
    Fixes: 3def4031b3e3f ("usb: dwc3: add EXTCON dependency for qcom")
    Signed-off-by: Marc Gonzalez <marc.w.gonzalez@free.fr>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b68b08e511b76768043116bbbd0a52abbfa14ee0
Author: Jesper Dangaard Brouer <brouer@redhat.com>
Date:   Mon Dec 2 13:37:31 2019 +0100

    samples/bpf: Fix broken xdp_rxq_info due to map order assumptions
    
    [ Upstream commit edbca120a8cdfa5a5793707e33497aa5185875ca ]
    
    In the days of using bpf_load.c the order in which the 'maps' sections
    were defines in BPF side (*_kern.c) file, were used by userspace side
    to identify the map via using the map order as an index. In effect the
    order-index is created based on the order the maps sections are stored
    in the ELF-object file, by the LLVM compiler.
    
    This have also carried over in libbpf via API bpf_map__next(NULL, obj)
    to extract maps in the order libbpf parsed the ELF-object file.
    
    When BTF based maps were introduced a new section type ".maps" were
    created. I found that the LLVM compiler doesn't create the ".maps"
    sections in the order they are defined in the C-file. The order in the
    ELF file is based on the order the map pointer is referenced in the code.
    
    This combination of changes lead to xdp_rxq_info mixing up the map
    file-descriptors in userspace, resulting in very broken behaviour, but
    without warning the user.
    
    This patch fix issue by instead using bpf_object__find_map_by_name()
    to find maps via their names. (Note, this is the ELF name, which can
    be longer than the name the kernel retains).
    
    Fixes: be5bca44aa6b ("samples: bpf: convert some XDP samples from bpf_load to libbpf")
    Fixes: 451d1dc886b5 ("samples: bpf: update map definition to new syntax BTF-defined map")
    Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Acked-by: Toke Høiland-Jørgensen <toke@redhat.com>
    Acked-by: Andrii Nakryiko <andriin@fb.com>
    Link: https://lore.kernel.org/bpf/157529025128.29832.5953245340679936909.stgit@firesoul
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7734f040753a08fe0d008afe582e28feb5e07928
Author: Andre Przywara <andre.przywara@arm.com>
Date:   Tue Nov 19 12:03:31 2019 +0000

    arm64: dts: juno: Fix UART frequency
    
    [ Upstream commit 39a1a8941b27c37f79508426e27a2ec29829d66c ]
    
    Older versions of the Juno *SoC* TRM [1] recommended that the UART clock
    source should be 7.2738 MHz, whereas the *system* TRM [2] stated a more
    correct value of 7.3728 MHz. Somehow the wrong value managed to end up in
    our DT.
    
    Doing a prime factorisation, a modulo divide by 115200 and trying
    to buy a 7.2738 MHz crystal at your favourite electronics dealer suggest
    that the old value was actually a typo. The actual UART clock is driven
    by a PLL, configured via a parameter in some board.txt file in the
    firmware, which reads 7.37 MHz (sic!).
    
    Fix this to correct the baud rate divisor calculation on the Juno board.
    
    [1] http://infocenter.arm.com/help/topic/com.arm.doc.ddi0515b.b/DDI0515B_b_juno_arm_development_platform_soc_trm.pdf
    [2] http://infocenter.arm.com/help/topic/com.arm.doc.100113_0000_07_en/arm_versatile_express_juno_development_platform_(v2m_juno)_technical_reference_manual_100113_0000_07_en.pdf
    
    Fixes: 71f867ec130e ("arm64: Add Juno board device tree.")
    Signed-off-by: Andre Przywara <andre.przywara@arm.com>
    Acked-by: Liviu Dudau <liviu.dudau@arm.com>
    Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6fab6dbff4a5843b8f44f87a2454450961c1f0bc
Author: Sam Bobroff <sbobroff@linux.ibm.com>
Date:   Mon Nov 18 10:53:53 2019 +1100

    drm/radeon: fix bad DMA from INTERRUPT_CNTL2
    
    [ Upstream commit 62d91dd2851e8ae2ca552f1b090a3575a4edf759 ]
    
    The INTERRUPT_CNTL2 register expects a valid DMA address, but is
    currently set with a GPU MC address.  This can cause problems on
    systems that detect the resulting DMA read from an invalid address
    (found on a Power8 guest).
    
    Instead, use the DMA address of the dummy page because it will always
    be safe.
    
    Fixes: d8f60cfc9345 ("drm/radeon/kms: Add support for interrupts on r6xx/r7xx chips (v3)")
    Fixes: 25a857fbe973 ("drm/radeon/kms: add support for interrupts on SI")
    Fixes: a59781bbe528 ("drm/radeon: add support for interrupts on CIK (v5)")
    Signed-off-by: Sam Bobroff <sbobroff@linux.ibm.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1abd5f5f64609a205798f77f976b04a0e87bfc53
Author: Chuhong Yuan <hslester96@gmail.com>
Date:   Mon Nov 18 15:38:02 2019 +0800

    dmaengine: ti: edma: fix missed failure handling
    
    [ Upstream commit 340049d453682a9fe8d91fe794dd091730f4bb25 ]
    
    When devm_kcalloc fails, it forgets to call edma_free_slot.
    Replace direct return with failure handler to fix it.
    
    Fixes: 1be5336bc7ba ("dmaengine: edma: New device tree binding")
    Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
    Link: https://lore.kernel.org/r/20191118073802.28424-1-hslester96@gmail.com
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3c4ee9a10b797545d084730a34a1a8d38130f944
Author: zhengbin <zhengbin13@huawei.com>
Date:   Thu Nov 21 09:12:18 2019 +0000

    afs: Remove set but not used variables 'before', 'after'
    
    [ Upstream commit 51590df4f3306cb1f43dca54e3ccdd121ab89594 ]
    
    Fixes gcc '-Wunused-but-set-variable' warning:
    
    fs/afs/dir_edit.c: In function afs_set_contig_bits:
    fs/afs/dir_edit.c:75:20: warning: variable after set but not used [-Wunused-but-set-variable]
    fs/afs/dir_edit.c: In function afs_set_contig_bits:
    fs/afs/dir_edit.c:75:12: warning: variable before set but not used [-Wunused-but-set-variable]
    fs/afs/dir_edit.c: In function afs_clear_contig_bits:
    fs/afs/dir_edit.c:100:20: warning: variable after set but not used [-Wunused-but-set-variable]
    fs/afs/dir_edit.c: In function afs_clear_contig_bits:
    fs/afs/dir_edit.c:100:12: warning: variable before set but not used [-Wunused-but-set-variable]
    
    They are never used since commit 63a4681ff39c.
    
    Fixes: 63a4681ff39c ("afs: Locally edit directory data for mkdir/create/unlink/...")
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: zhengbin <zhengbin13@huawei.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c96c5435144b681f489a7c3cd0a75e27e2870a32
Author: Navid Emamdoost <navid.emamdoost@gmail.com>
Date:   Wed Oct 2 16:52:37 2019 -0500

    affs: fix a memory leak in affs_remount
    
    [ Upstream commit 450c3d4166837c496ebce03650c08800991f2150 ]
    
    In affs_remount if data is provided it is duplicated into new_opts.  The
    allocated memory for new_opts is only released if parse_options fails.
    
    There's a bit of history behind new_options, originally there was
    save/replace options on the VFS layer so the 'data' passed must not
    change (thus strdup), this got cleaned up in later patches. But not
    completely.
    
    There's no reason to do the strdup in cases where the filesystem does
    not need to reuse the 'data' again, because strsep would modify it
    directly.
    
    Fixes: c8f33d0bec99 ("affs: kstrdup() memory handling")
    Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
    [ update changelog ]
    Signed-off-by: David Sterba <dsterba@suse.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f9e9fc45740d3f9fbd601df048cad60649c59956
Author: H. Nikolaus Schaller <hns@goldelico.com>
Date:   Thu Nov 7 11:30:43 2019 +0100

    mmc: core: fix wl1251 sdio quirks
    
    [ Upstream commit 16568b4a4f0c34bd35cfadac63303c7af7812764 ]
    
    wl1251 and wl1271 have different vendor id and device id.
    So we need to handle both with sdio quirks.
    
    Fixes: 884f38607897 ("mmc: core: move some sdio IDs out of quirks file")
    Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
    Cc: <stable@vger.kernel.org> # v4.11+
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 818ea6371dc1fe0287c7a1d5481871c28943d412
Author: H. Nikolaus Schaller <hns@goldelico.com>
Date:   Thu Nov 7 11:30:42 2019 +0100

    mmc: sdio: fix wl1251 vendor id
    
    [ Upstream commit e5db673e7fe2f971ec82039a28dc0811c2100e87 ]
    
    v4.11-rc1 did introduce a patch series that rearranged the
    sdio quirks into a header file. Unfortunately this did forget
    to handle SDIO_VENDOR_ID_TI differently between wl1251 and
    wl1271 with the result that although the wl1251 was found on
    the sdio bus, the firmware did not load any more and there was
    no interface registration.
    
    This patch defines separate constants to be used by sdio quirks
    and drivers.
    
    Fixes: 884f38607897 ("mmc: core: move some sdio IDs out of quirks file")
    Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
    Cc: <stable@vger.kernel.org> # v4.11+
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f7061be1528ceea4454b16479a05ee64b698861b
Author: Alain Volmat <alain.volmat@st.com>
Date:   Thu Oct 24 14:52:00 2019 +0200

    i2c: stm32f7: report dma error during probe
    
    [ Upstream commit d77eceb2de99f5d7e0c645bad15511fe1af59e09 ]
    
    Distinguish between the case where dma information is not provided
    within the DT and the case of an error during the dma init.
    Exit the probe with error in case of an error during dma init.
    
    Fixes: bb8822cbbc53 ("i2c: i2c-stm32: Add generic DMA API")
    Signed-off-by: Alain Volmat <alain.volmat@st.com>
    Reviewed-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ab6c0f501d2cecf8c74cf8293fca9c2b780dd55b
Author: Eric Dumazet <edumazet@google.com>
Date:   Fri Nov 8 05:07:46 2019 -0800

    packet: fix data-race in fanout_flow_is_huge()
    
    [ Upstream commit b756ad928d98e5ef0b74af7546a6a31a8dadde00 ]
    
    KCSAN reported the following data-race [1]
    
    Adding a couple of READ_ONCE()/WRITE_ONCE() should silence it.
    
    Since the report hinted about multiple cpus using the history
    concurrently, I added a test avoiding writing on it if the
    victim slot already contains the desired value.
    
    [1]
    
    BUG: KCSAN: data-race in fanout_demux_rollover / fanout_demux_rollover
    
    read to 0xffff8880b01786cc of 4 bytes by task 18921 on cpu 1:
     fanout_flow_is_huge net/packet/af_packet.c:1303 [inline]
     fanout_demux_rollover+0x33e/0x3f0 net/packet/af_packet.c:1353
     packet_rcv_fanout+0x34e/0x490 net/packet/af_packet.c:1453
     deliver_skb net/core/dev.c:1888 [inline]
     dev_queue_xmit_nit+0x15b/0x540 net/core/dev.c:1958
     xmit_one net/core/dev.c:3195 [inline]
     dev_hard_start_xmit+0x3f5/0x430 net/core/dev.c:3215
     __dev_queue_xmit+0x14ab/0x1b40 net/core/dev.c:3792
     dev_queue_xmit+0x21/0x30 net/core/dev.c:3825
     neigh_direct_output+0x1f/0x30 net/core/neighbour.c:1530
     neigh_output include/net/neighbour.h:511 [inline]
     ip6_finish_output2+0x7a2/0xec0 net/ipv6/ip6_output.c:116
     __ip6_finish_output net/ipv6/ip6_output.c:142 [inline]
     __ip6_finish_output+0x2d7/0x330 net/ipv6/ip6_output.c:127
     ip6_finish_output+0x41/0x160 net/ipv6/ip6_output.c:152
     NF_HOOK_COND include/linux/netfilter.h:294 [inline]
     ip6_output+0xf2/0x280 net/ipv6/ip6_output.c:175
     dst_output include/net/dst.h:436 [inline]
     ip6_local_out+0x74/0x90 net/ipv6/output_core.c:179
     ip6_send_skb+0x53/0x110 net/ipv6/ip6_output.c:1795
     udp_v6_send_skb.isra.0+0x3ec/0xa70 net/ipv6/udp.c:1173
     udpv6_sendmsg+0x1906/0x1c20 net/ipv6/udp.c:1471
     inet6_sendmsg+0x6d/0x90 net/ipv6/af_inet6.c:576
     sock_sendmsg_nosec net/socket.c:637 [inline]
     sock_sendmsg+0x9f/0xc0 net/socket.c:657
     ___sys_sendmsg+0x2b7/0x5d0 net/socket.c:2311
     __sys_sendmmsg+0x123/0x350 net/socket.c:2413
     __do_sys_sendmmsg net/socket.c:2442 [inline]
     __se_sys_sendmmsg net/socket.c:2439 [inline]
     __x64_sys_sendmmsg+0x64/0x80 net/socket.c:2439
     do_syscall_64+0xcc/0x370 arch/x86/entry/common.c:290
     entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    write to 0xffff8880b01786cc of 4 bytes by task 18922 on cpu 0:
     fanout_flow_is_huge net/packet/af_packet.c:1306 [inline]
     fanout_demux_rollover+0x3a4/0x3f0 net/packet/af_packet.c:1353
     packet_rcv_fanout+0x34e/0x490 net/packet/af_packet.c:1453
     deliver_skb net/core/dev.c:1888 [inline]
     dev_queue_xmit_nit+0x15b/0x540 net/core/dev.c:1958
     xmit_one net/core/dev.c:3195 [inline]
     dev_hard_start_xmit+0x3f5/0x430 net/core/dev.c:3215
     __dev_queue_xmit+0x14ab/0x1b40 net/core/dev.c:3792
     dev_queue_xmit+0x21/0x30 net/core/dev.c:3825
     neigh_direct_output+0x1f/0x30 net/core/neighbour.c:1530
     neigh_output include/net/neighbour.h:511 [inline]
     ip6_finish_output2+0x7a2/0xec0 net/ipv6/ip6_output.c:116
     __ip6_finish_output net/ipv6/ip6_output.c:142 [inline]
     __ip6_finish_output+0x2d7/0x330 net/ipv6/ip6_output.c:127
     ip6_finish_output+0x41/0x160 net/ipv6/ip6_output.c:152
     NF_HOOK_COND include/linux/netfilter.h:294 [inline]
     ip6_output+0xf2/0x280 net/ipv6/ip6_output.c:175
     dst_output include/net/dst.h:436 [inline]
     ip6_local_out+0x74/0x90 net/ipv6/output_core.c:179
     ip6_send_skb+0x53/0x110 net/ipv6/ip6_output.c:1795
     udp_v6_send_skb.isra.0+0x3ec/0xa70 net/ipv6/udp.c:1173
     udpv6_sendmsg+0x1906/0x1c20 net/ipv6/udp.c:1471
     inet6_sendmsg+0x6d/0x90 net/ipv6/af_inet6.c:576
     sock_sendmsg_nosec net/socket.c:637 [inline]
     sock_sendmsg+0x9f/0xc0 net/socket.c:657
     ___sys_sendmsg+0x2b7/0x5d0 net/socket.c:2311
     __sys_sendmmsg+0x123/0x350 net/socket.c:2413
     __do_sys_sendmmsg net/socket.c:2442 [inline]
     __se_sys_sendmmsg net/socket.c:2439 [inline]
     __x64_sys_sendmmsg+0x64/0x80 net/socket.c:2439
     do_syscall_64+0xcc/0x370 arch/x86/entry/common.c:290
     entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    Reported by Kernel Concurrency Sanitizer on:
    CPU: 0 PID: 18922 Comm: syz-executor.3 Not tainted 5.4.0-rc6+ #0
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    
    Fixes: 3b3a5b0aab5b ("packet: rollover huge flows before small flows")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Willem de Bruijn <willemb@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d261a03d8cac78006f2f28c6f950429f1588fb07
Author: Eric Dumazet <edumazet@google.com>
Date:   Tue Nov 5 14:11:49 2019 -0800

    net: neigh: use long type to store jiffies delta
    
    [ Upstream commit 9d027e3a83f39b819e908e4e09084277a2e45e95 ]
    
    A difference of two unsigned long needs long storage.
    
    Fixes: c7fb64db001f ("[NETLINK]: Neighbour table configuration and statistics via rtnetlink")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ced84017c91461d480a1cc35367e07bcaf803256
Author: Stephen Hemminger <sthemmin@microsoft.com>
Date:   Fri Nov 1 16:42:37 2019 -0700

    hv_netvsc: flag software created hash value
    
    [ Upstream commit df9f540ca74297a84bafacfa197e9347b20beea5 ]
    
    When the driver needs to create a hash value because it
    was not done at higher level, then the hash should be marked
    as a software not hardware hash.
    
    Fixes: f72860afa2e3 ("hv_netvsc: Exclude non-TCP port numbers from vRSS hashing")
    Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0d9231e29601bc6e26192ac59b63f2373cf88423
Author: Tiezhu Yang <yangtiezhu@loongson.cn>
Date:   Mon Nov 4 21:33:50 2019 +0800

    MIPS: Loongson: Fix return value of loongson_hwmon_init
    
    [ Upstream commit dece3c2a320b0a6d891da6ff774ab763969b6860 ]
    
    When call function hwmon_device_register failed, use the actual
    return value instead of always -ENOMEM.
    
    Fixes: 64f09aa967e1 ("MIPS: Loongson-3: Add CPU Hwmon platform driver")
    Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
    Signed-off-by: Paul Burton <paulburton@kernel.org>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: James Hogan <jhogan@kernel.org>
    Cc: Huacai Chen <chenhc@lemote.com>
    Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cef9d517c6ee0eccb17913bf0136aef2fa1baf49
Author: Madalin Bucur <madalin.bucur@nxp.com>
Date:   Thu Oct 31 16:37:50 2019 +0200

    dpaa_eth: avoid timestamp read on error paths
    
    [ Upstream commit 9a4f4f3a894ff4487f5597b7aabba9432b238292 ]
    
    The dpaa_cleanup_tx_fd() function is called by the frame transmit
    confirmation callback but also on several error paths. This function
    is reading the transmit timestamp value. Avoid reading an invalid
    timestamp value on the error paths.
    
    Fixes: 4664856e9ca2 ("dpaa_eth: add support for hardware timestamping")
    Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5fdb1715ac33cb8eb49808613dd6c6924b3e992c
Author: Madalin Bucur <madalin.bucur@nxp.com>
Date:   Thu Oct 31 16:37:49 2019 +0200

    dpaa_eth: perform DMA unmapping before read
    
    [ Upstream commit c70fd3182caef014e6c628b412f81aa57a3ef9e4 ]
    
    DMA unmapping is required before accessing the HW provided timestamping
    information.
    
    Fixes: 4664856e9ca2 ("dpaa_eth: add support for hardware timestamping")
    Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8b314bb0693553c94d4ff6e5f62b6c285f62ca78
Author: Tony Lindgren <tony@atomide.com>
Date:   Sat Sep 14 14:02:55 2019 -0700

    hwrng: omap3-rom - Fix missing clock by probing with device tree
    
    [ Upstream commit 0c0ef9ea6f3f0d5979dc7b094b0a184c1a94716b ]
    
    Commit 0ed266d7ae5e ("clk: ti: omap3: cleanup unnecessary clock aliases")
    removed old omap3 clock framework aliases but caused omap3-rom-rng to
    stop working with clock not found error.
    
    Based on discussions on the mailing list it was requested by Tero Kristo
    that it would be best to fix this issue by probing omap3-rom-rng using
    device tree to provide a proper clk property. The other option would be
    to add back the missing clock alias, but that does not help moving things
    forward with removing old legacy platform_data.
    
    Let's also add a proper device tree binding and keep it together with
    the fix.
    
    Cc: devicetree@vger.kernel.org
    Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
    Cc: Adam Ford <aford173@gmail.com>
    Cc: Pali Rohár <pali.rohar@gmail.com>
    Cc: Rob Herring <robh+dt@kernel.org>
    Cc: Sebastian Reichel <sre@kernel.org>
    Cc: Tero Kristo <t-kristo@ti.com>
    Fixes: 0ed266d7ae5e ("clk: ti: omap3: cleanup unnecessary clock aliases")
    Reported-by: Aaro Koskinen <aaro.koskinen@iki.fi>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Acked-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 888482cb8da0ae18e9e6af328be431e0bc76a95d
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Sep 11 13:49:28 2019 +0300

    drm: panel-lvds: Potential Oops in probe error handling
    
    [ Upstream commit fb2ee9bf084bcaeff1e5be100decc0eacb4af2d5 ]
    
    The "lvds->backlight" pointer could be NULL in situations where
    of_parse_phandle() returns NULL.  This code is cleaner if we use the
    managed devm_of_find_backlight() so the clean up is automatic.
    
    Fixes: 7c9dff5bd643 ("drm: panels: Add LVDS panel driver")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190911104928.GA15930@mwanda
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 97a5c6b7ff2577042299b9db218899b8e22916d1
Author: Marc Dionne <marc.dionne@auristor.com>
Date:   Thu Nov 21 15:37:26 2019 +0000

    afs: Fix large file support
    
    [ Upstream commit b485275f1aca8a9da37fd35e4fad673935e827da ]
    
    By default s_maxbytes is set to MAX_NON_LFS, which limits the usable
    file size to 2GB, enforced by the vfs.
    
    Commit b9b1f8d5930a ("AFS: write support fixes") added support for the
    64-bit fetch and store server operations, but did not change this value.
    As a result, attempts to write past the 2G mark result in EFBIG errors:
    
     $ dd if=/dev/zero of=foo bs=1M count=1 seek=2048
     dd: error writing 'foo': File too large
    
    Set s_maxbytes to MAX_LFS_FILESIZE.
    
    Fixes: b9b1f8d5930a ("AFS: write support fixes")
    Signed-off-by: Marc Dionne <marc.dionne@auristor.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2d916a17fbb6bbd50cc113ff43f3af9ed28e03e5
Author: Haiyang Zhang <haiyangz@microsoft.com>
Date:   Thu Nov 21 13:33:41 2019 -0800

    hv_netvsc: Fix send_table offset in case of a host bug
    
    [ Upstream commit 171c1fd98df3d5948d9a9eb755274850fa5e59c6 ]
    
    If negotiated NVSP version <= NVSP_PROTOCOL_VERSION_6, the offset may
    be wrong (too small) due to a host bug. This can cause missing the
    end of the send indirection table, and add multiple zero entries from
    leading zeros before the data region. This bug adds extra burden on
    channel 0.
    
    So fix the offset by computing it from the data structure sizes. This
    will ensure netvsc driver runs normally on unfixed hosts, and future
    fixed hosts.
    
    Fixes: 5b54dac856cb ("hyperv: Add support for virtual Receive Side Scaling (vRSS)")
    Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4544f000c83323f3183eec44691a64e251eaefc6
Author: Haiyang Zhang <haiyangz@microsoft.com>
Date:   Thu Nov 21 13:33:40 2019 -0800

    hv_netvsc: Fix offset usage in netvsc_send_table()
    
    [ Upstream commit 71f21959dd5516031db4f011e15e9a9508b93a7d ]
    
    To reach the data region, the existing code adds offset in struct
    nvsp_5_send_indirect_table on the beginning of this struct. But the
    offset should be based on the beginning of its container,
    struct nvsp_message. This bug causes the first table entry missing,
    and adds an extra zero from the zero pad after the data region.
    This can put extra burden on the channel 0.
    
    So, correct the offset usage. Also add a boundary check to ensure
    not reading beyond data region.
    
    Fixes: 5b54dac856cb ("hyperv: Add support for virtual Receive Side Scaling (vRSS)")
    Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b6994e3eeb9906690559d70560e8b1c9b8dcccdd
Author: Stefan Wahren <stefan.wahren@in-tech.com>
Date:   Wed Nov 20 18:29:13 2019 +0100

    net: qca_spi: Move reset_count to struct qcaspi
    
    [ Upstream commit bc19c32904e36548335b35fdce6ce734e20afc0a ]
    
    The reset counter is specific for every QCA700x chip. So move this
    into the private driver struct. Otherwise we get unpredictable reset
    behavior in setups with multiple QCA700x chips.
    
    Fixes: 291ab06ecf67 (net: qualcomm: new Ethernet over SPI driver for QCA7000)
    Signed-off-by: Stefan Wahren <stefan.wahren@in-tech.com>
    Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e0aedcafa0d859449b0064145121d0dada0c3701
Author: David Howells <dhowells@redhat.com>
Date:   Tue Nov 19 21:00:36 2019 +0000

    afs: Fix missing timeout reset
    
    [ Upstream commit c74386d50fbaf4a54fd3fe560f1abc709c0cff4b ]
    
    In afs_wait_for_call_to_complete(), rather than immediately aborting an
    operation if a signal occurs, the code attempts to wait for it to
    complete, using a schedule timeout of 2*RTT (or min 2 jiffies) and a
    check that we're still receiving relevant packets from the server before
    we consider aborting the call.  We may even ping the server to check on
    the status of the call.
    
    However, there's a missing timeout reset in the event that we do
    actually get a packet to process, such that if we then get a couple of
    short stalls, we then time out when progress is actually being made.
    
    Fix this by resetting the timeout any time we get something to process.
    If it's the failure of the call then the call state will get changed and
    we'll exit the loop shortly thereafter.
    
    A symptom of this is data fetches and stores failing with EINTR when
    they really shouldn't.
    
    Fixes: bc5e3a546d55 ("rxrpc: Use MSG_WAITALL to tell sendmsg() to temporarily ignore signals")
    Signed-off-by: David Howells <dhowells@redhat.com>
    Reviewed-by: Marc Dionne <marc.dionne@auristor.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4622676d8fe988981982a67550bfa16e18dd0d69
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Mon Nov 4 12:15:36 2019 +0300

    bpf, offload: Unlock on error in bpf_offload_dev_create()
    
    [ Upstream commit d0fbb51dfaa612f960519b798387be436e8f83c5 ]
    
    We need to drop the bpf_devs_lock on error before returning.
    
    Fixes: 9fd7c5559165 ("bpf: offload: aggregate offloads per-device")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Link: https://lore.kernel.org/bpf/20191104091536.GB31509@mwanda
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f6dfebc9ed6dba91eb2849c194f817c41432c510
Author: Magnus Karlsson <magnus.karlsson@intel.com>
Date:   Mon Oct 21 10:16:58 2019 +0200

    xsk: Fix registration of Rx-only sockets
    
    [ Upstream commit 2afd23f78f39da84937006ecd24aa664a4ab052b ]
    
    Having Rx-only AF_XDP sockets can potentially lead to a crash in the
    system by a NULL pointer dereference in xsk_umem_consume_tx(). This
    function iterates through a list of all sockets tied to a umem and
    checks if there are any packets to send on the Tx ring. Rx-only
    sockets do not have a Tx ring, so this will cause a NULL pointer
    dereference. This will happen if you have registered one or more
    Rx-only sockets to a umem and the driver is checking the Tx ring even
    on Rx, or if the XDP_SHARED_UMEM mode is used and there is a mix of
    Rx-only and other sockets tied to the same umem.
    
    Fixed by only putting sockets with a Tx component on the list that
    xsk_umem_consume_tx() iterates over.
    
    Fixes: ac98d8aab61b ("xsk: wire upp Tx zero-copy functions")
    Reported-by: Kal Cutter Conley <kal.conley@dectris.com>
    Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Link: https://lore.kernel.org/bpf/1571645818-16244-1-git-send-email-magnus.karlsson@intel.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5e59a74d48a0003e26c08a76f208cb73e87f58ed
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Fri Oct 18 09:16:58 2019 -0700

    net: netem: correct the parent's backlog when corrupted packet was dropped
    
    [ Upstream commit e0ad032e144731a5928f2d75e91c2064ba1a764c ]
    
    If packet corruption failed we jump to finish_segs and return
    NET_XMIT_SUCCESS. Seeing success will make the parent qdisc
    increment its backlog, that's incorrect - we need to return
    NET_XMIT_DROP.
    
    Fixes: 6071bd1aa13e ("netem: Segment GSO packets on enqueue")
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: Simon Horman <simon.horman@netronome.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9e9c3dc3c0d2c556900e1775a12242951ce94148
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Fri Oct 18 09:16:57 2019 -0700

    net: netem: fix error path for corrupted GSO frames
    
    [ Upstream commit a7fa12d15855904aff1716e1fc723c03ba38c5cc ]
    
    To corrupt a GSO frame we first perform segmentation.  We then
    proceed using the first segment instead of the full GSO skb and
    requeue the rest of the segments as separate packets.
    
    If there are any issues with processing the first segment we
    still want to process the rest, therefore we jump to the
    finish_segs label.
    
    Commit 177b8007463c ("net: netem: fix backlog accounting for
    corrupted GSO frames") started using the pointer to the first
    segment in the "rest of segments processing", but as mentioned
    above the first segment may had already been freed at this point.
    
    Backlog corrections for parent qdiscs have to be adjusted.
    
    Fixes: 177b8007463c ("net: netem: fix backlog accounting for corrupted GSO frames")
    Reported-by: kbuild test robot <lkp@intel.com>
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reported-by: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: Simon Horman <simon.horman@netronome.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 963938f507d978731e8b9f4794a5c139b2725bbb
Author: Pavel Tatashin <pasha.tatashin@soleen.com>
Date:   Mon Oct 14 10:48:24 2019 -0400

    arm64: hibernate: check pgd table allocation
    
    [ Upstream commit 8c551f919a73c1dfa690a70a691be1da394145e8 ]
    
    There is a bug in create_safe_exec_page(), when page table is allocated
    it is not checked that table is allocated successfully:
    
    But it is dereferenced in: pgd_none(READ_ONCE(*pgdp)).  Check that
    allocation was successful.
    
    Fixes: 82869ac57b5d ("arm64: kernel: Add support for hibernate/suspend-to-disk")
    Reviewed-by: James Morse <james.morse@arm.com>
    Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
    Signed-off-by: Will Deacon <will@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b79d380017d1d23b1b07c860a1adc1360a1fcb09
Author: Jean Delvare <jdelvare@suse.de>
Date:   Mon Oct 14 21:41:24 2019 +0200

    firmware: dmi: Fix unlikely out-of-bounds read in save_mem_devices
    
    [ Upstream commit 81dde26de9c08bb04c4962a15608778aaffb3cf9 ]
    
    Before reading the Extended Size field, we should ensure it fits in
    the DMI record. There is already a record length check but it does
    not cover that field.
    
    It would take a seriously corrupted DMI table to hit that bug, so no
    need to worry, but we should still fix it.
    
    Signed-off-by: Jean Delvare <jdelvare@suse.de>
    Fixes: 6deae96b42eb ("firmware, DMI: Add function to look up a handle and return DIMM size")
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Borislav Petkov <bp@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fc7510d80220bb0a458c328ace6be44abbf42c35
Author: Robin Gong <yibin.gong@nxp.com>
Date:   Tue Sep 24 09:49:18 2019 +0000

    dmaengine: imx-sdma: fix size check for sdma script_number
    
    [ Upstream commit bd73dfabdda280fc5f05bdec79b6721b4b2f035f ]
    
    Illegal memory will be touch if SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V3
    (41) exceed the size of structure sdma_script_start_addrs(40),
    thus cause memory corrupt such as slob block header so that kernel
    trap into while() loop forever in slob_free(). Please refer to below
    code piece in imx-sdma.c:
    for (i = 0; i < sdma->script_number; i++)
            if (addr_arr[i] > 0)
                    saddr_arr[i] = addr_arr[i]; /* memory corrupt here */
    That issue was brought by commit a572460be9cf ("dmaengine: imx-sdma: Add
    support for version 3 firmware") because SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V3
    (38->41 3 scripts added) not align with script number added in
    sdma_script_start_addrs(2 scripts).
    
    Fixes: a572460be9cf ("dmaengine: imx-sdma: Add support for version 3 firmware")
    Cc: stable@vger.kernel
    Link: https://www.spinics.net/lists/arm-kernel/msg754895.html
    Signed-off-by: Robin Gong <yibin.gong@nxp.com>
    Reported-by: Jurgen Lambrecht <J.Lambrecht@TELEVIC.com>
    Link: https://lore.kernel.org/r/1569347584-3478-1-git-send-email-yibin.gong@nxp.com
    [vkoul: update the patch title]
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ae599446db7401194fd5a1956115e22dd2c0ffc7
Author: Michael S. Tsirkin <mst@redhat.com>
Date:   Mon Oct 7 13:56:59 2019 -0400

    vhost/test: stop device before reset
    
    [ Upstream commit 245cdd9fbd396483d501db83047116e2530f245f ]
    
    When device stop was moved out of reset, test device wasn't updated to
    stop before reset, this resulted in a use after free.  Fix by invoking
    stop appropriately.
    
    Fixes: b211616d7125 ("vhost: move -net specific code out")
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2e7d73cb2291f9cc7ea99fc55ae2ddc68c7f7b77
Author: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
Date:   Fri Oct 11 06:39:39 2019 -0700

    drm/msm/dsi: Implement reset correctly
    
    [ Upstream commit 78e31c42261779a01bc73472d0f65f15378e9de3 ]
    
    On msm8998, vblank timeouts are observed because the DSI controller is not
    reset properly, which ends up stalling the MDP.  This is because the reset
    logic is not correct per the hardware documentation.
    
    The documentation states that after asserting reset, software should wait
    some time (no indication of how long), or poll the status register until it
    returns 0 before deasserting reset.
    
    wmb() is insufficient for this purpose since it just ensures ordering, not
    timing between writes.  Since asserting and deasserting reset occurs on the
    same register, ordering is already guaranteed by the architecture, making
    the wmb extraneous.
    
    Since we would define a timeout for polling the status register to avoid a
    possible infinite loop, lets just use a static delay of 20 ms, since 16.666
    ms is the time available to process one frame at 60 fps.
    
    Fixes: a689554ba6ed ("drm/msm: Initial add DSI connector support")
    Cc: Hai Li <hali@codeaurora.org>
    Cc: Rob Clark <robdclark@gmail.com>
    Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
    Reviewed-by: Sean Paul <sean@poorly.run>
    [seanpaul renamed RESET_DELAY to DSI_RESET_TOGGLE_DELAY_MS]
    Signed-off-by: Sean Paul <seanpaul@chromium.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20191011133939.16551-1-jeffrey.l.hugo@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ea438df46e3c78894043ac70fa79beea3324f24f
Author: Karsten Graul <kgraul@linux.ibm.com>
Date:   Thu Oct 10 10:16:11 2019 +0200

    net/smc: receive pending data after RCV_SHUTDOWN
    
    [ Upstream commit 107529e31a87acd475ff6a0f82745821b8f70fec ]
    
    smc_rx_recvmsg() first checks if data is available, and then if
    RCV_SHUTDOWN is set. There is a race when smc_cdc_msg_recv_action() runs
    in between these 2 checks, receives data and sets RCV_SHUTDOWN.
    In that case smc_rx_recvmsg() would return from receive without to
    process the available data.
    Fix that with a final check for data available if RCV_SHUTDOWN is set.
    Move the check for data into a function and call it twice.
    And use the existing helper smc_rx_data_available().
    
    Fixes: 952310ccf2d8 ("smc: receive data from RMBE")
    Reviewed-by: Ursula Braun <ubraun@linux.ibm.com>
    Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ccb7eb9b9d9e26a99f5464b640595bc158e0a978
Author: Karsten Graul <kgraul@linux.ibm.com>
Date:   Thu Oct 10 10:16:10 2019 +0200

    net/smc: receive returns without data
    
    [ Upstream commit 882dcfe5a1785c20f45820cbe6fec4b8b647c946 ]
    
    smc_cdc_rxed_any_close_or_senddone() is used as an end condition for the
    receive loop. This conflicts with smc_cdc_msg_recv_action() which could
    run in parallel and set the bits checked by
    smc_cdc_rxed_any_close_or_senddone() before the receive is processed.
    In that case we could return from receive with no data, although data is
    available. The same applies to smc_rx_wait().
    Fix this by checking for RCV_SHUTDOWN only, which is set in
    smc_cdc_msg_recv_action() after the receive was actually processed.
    
    Fixes: 952310ccf2d8 ("smc: receive data from RMBE")
    Reviewed-by: Ursula Braun <ubraun@linux.ibm.com>
    Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a92c895e22b738454f06651f3aa4d8f441157f18
Author: Eric Dumazet <edumazet@google.com>
Date:   Wed Oct 9 15:10:15 2019 -0700

    tcp: annotate lockless access to tcp_memory_pressure
    
    [ Upstream commit 1f142c17d19a5618d5a633195a46f2c8be9bf232 ]
    
    tcp_memory_pressure is read without holding any lock,
    and its value could be changed on other cpus.
    
    Use READ_ONCE() to annotate these lockless reads.
    
    The write side is already using atomic ops.
    
    Fixes: b8da51ebb1aa ("tcp: introduce tcp_under_memory_pressure()")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b0fb910bfdf469fa5016e939c778cfb566be2e33
Author: Eric Dumazet <edumazet@google.com>
Date:   Wed Oct 9 14:51:20 2019 -0700

    net: add {READ|WRITE}_ONCE() annotations on ->rskq_accept_head
    
    [ Upstream commit 60b173ca3d1cd1782bd0096dc17298ec242f6fb1 ]
    
    reqsk_queue_empty() is called from inet_csk_listen_poll() while
    other cpus might write ->rskq_accept_head value.
    
    Use {READ|WRITE}_ONCE() to avoid compiler tricks
    and potential KCSAN splats.
    
    Fixes: fff1f3001cc5 ("tcp: add a spinlock to protect struct request_sock_queue")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 910699a81fe572b41cc23b46b0616ce7878f5237
Author: Eric Dumazet <edumazet@google.com>
Date:   Wed Oct 9 12:55:53 2019 -0700

    net: avoid possible false sharing in sk_leave_memory_pressure()
    
    [ Upstream commit 503978aca46124cd714703e180b9c8292ba50ba7 ]
    
    As mentioned in https://github.com/google/ktsan/wiki/READ_ONCE-and-WRITE_ONCE#it-may-improve-performance
    a C compiler can legally transform :
    
    if (memory_pressure && *memory_pressure)
            *memory_pressure = 0;
    
    to :
    
    if (memory_pressure)
            *memory_pressure = 0;
    
    Fixes: 0604475119de ("tcp: add TCPMemoryPressuresChrono counter")
    Fixes: 180d8cd942ce ("foundations of per-cgroup memory pressure controlling.")
    Fixes: 3ab224be6d69 ("[NET] CORE: Introducing new memory accounting interface.")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5c1b003d22aba2ff0853f0e775c3cfa7e42522cd
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Wed Oct 9 11:10:52 2019 +0800

    act_mirred: Fix mirred_init_module error handling
    
    [ Upstream commit 11c9a7d38af524217efb7a176ad322b97ac2f163 ]
    
    If tcf_register_action failed, mirred_device_notifier
    should be unregistered.
    
    Fixes: 3b87956ea645 ("net sched: fix race in mirred device removal")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e4bf36f1e698c8c25a40774f7075a5b346030d7a
Author: Alexandra Winter <wintera@linux.ibm.com>
Date:   Tue Oct 8 18:21:07 2019 +0200

    s390/qeth: Fix initialization of vnicc cmd masks during set online
    
    [ Upstream commit be40a86c319706f90caca144343c64743c32b953 ]
    
    Without this patch, a command bit in the supported commands mask is only
    ever set to unsupported during set online. If a command is ever marked as
    unsupported (e.g. because of error during qeth_l2_vnicc_query_cmds),
    subsequent successful initialization (offline/online) would not bring it
    back.
    
    Fixes: caa1f0b10d18 ("s390/qeth: add VNICC enable/disable support")
    Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
    Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cc28f819ad7f42d27cffe8bca66c5516368ee599
Author: Alexandra Winter <wintera@linux.ibm.com>
Date:   Tue Oct 8 18:21:06 2019 +0200

    s390/qeth: Fix error handling during VNICC initialization
    
    [ Upstream commit b528965bcc827dad32a8d21745feaacfc76c9703 ]
    
    Smatch discovered the use of uninitialized variable sup_cmds
    in error paths.
    
    Fixes: caa1f0b10d18 ("s390/qeth: add VNICC enable/disable support")
    Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
    Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b15a38ce955212cc9ad8f13deec67ef375cad1b1
Author: Xin Long <lucien.xin@gmail.com>
Date:   Tue Oct 8 19:09:23 2019 +0800

    sctp: add chunks to sk_backlog when the newsk sk_socket is not set
    
    [ Upstream commit 819be8108fded0b9e710bbbf81193e52f7bab2f7 ]
    
    This patch is to fix a NULL-ptr deref in selinux_socket_connect_helper:
    
      [...] kasan: GPF could be caused by NULL-ptr deref or user memory access
      [...] RIP: 0010:selinux_socket_connect_helper+0x94/0x460
      [...] Call Trace:
      [...]  selinux_sctp_bind_connect+0x16a/0x1d0
      [...]  security_sctp_bind_connect+0x58/0x90
      [...]  sctp_process_asconf+0xa52/0xfd0 [sctp]
      [...]  sctp_sf_do_asconf+0x785/0x980 [sctp]
      [...]  sctp_do_sm+0x175/0x5a0 [sctp]
      [...]  sctp_assoc_bh_rcv+0x285/0x5b0 [sctp]
      [...]  sctp_backlog_rcv+0x482/0x910 [sctp]
      [...]  __release_sock+0x11e/0x310
      [...]  release_sock+0x4f/0x180
      [...]  sctp_accept+0x3f9/0x5a0 [sctp]
      [...]  inet_accept+0xe7/0x720
    
    It was caused by that the 'newsk' sk_socket was not set before going to
    security sctp hook when processing asconf chunk with SCTP_PARAM_ADD_IP
    or SCTP_PARAM_SET_PRIMARY:
    
      inet_accept()->
        sctp_accept():
          lock_sock():
              lock listening 'sk'
                                              do_softirq():
                                                sctp_rcv():  <-- [1]
                                                    asconf chunk arrives and
                                                    enqueued in 'sk' backlog
          sctp_sock_migrate():
              set asoc's sk to 'newsk'
          release_sock():
              sctp_backlog_rcv():
                lock 'newsk'
                sctp_process_asconf()  <-- [2]
                unlock 'newsk'
        sock_graft():
            set sk_socket  <-- [3]
    
    As it shows, at [1] the asconf chunk would be put into the listening 'sk'
    backlog, as accept() was holding its sock lock. Then at [2] asconf would
    get processed with 'newsk' as asoc's sk had been set to 'newsk'. However,
    'newsk' sk_socket is not set until [3], while selinux_sctp_bind_connect()
    would deref it, then kernel crashed.
    
    Here to fix it by adding the chunk to sk_backlog until newsk sk_socket is
    set when .accept() is done.
    
    Note that sk->sk_socket can be NULL when the sock is closed, so SOCK_DEAD
    flag is also needed to check in sctp_newsk_ready().
    
    Thanks to Ondrej for reviewing the code.
    
    Fixes: d452930fd3b9 ("selinux: Add SCTP support")
    Reported-by: Ying Xu <yinxu@redhat.com>
    Suggested-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
    Signed-off-by: Xin Long <lucien.xin@gmail.com>
    Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
    Acked-by: Neil Horman <nhorman@tuxdriver.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 570ed4004d270a6cdba62adce42b94ae649e476b
Author: Antonio Borneo <antonio.borneo@st.com>
Date:   Mon Oct 7 17:43:05 2019 +0200

    net: stmmac: fix disabling flexible PPS output
    
    [ Upstream commit 520cf6002147281d1e7b522bb338416b623dcb93 ]
    
    Accordingly to Synopsys documentation [1] and [2], when bit PPSEN0
    in register MAC_PPS_CONTROL is set it selects the functionality
    command in the same register, otherwise selects the functionality
    control.
    Command functionality is required to either enable (command 0x2)
    and disable (command 0x5) the flexible PPS output, but the bit
    PPSEN0 is currently set only for enabling.
    
    Set the bit PPSEN0 to properly disable flexible PPS output.
    
    Tested on STM32MP15x, based on dwmac 4.10a.
    
    [1] DWC Ethernet QoS Databook 4.10a October 2014
    [2] DWC Ethernet QoS Databook 5.00a September 2017
    
    Signed-off-by: Antonio Borneo <antonio.borneo@st.com>
    Fixes: 9a8a02c9d46d ("net: stmmac: Add Flexible PPS support")
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 941c03325c4cb73f9079cb57bdb5c8cfad6f7594
Author: Antonio Borneo <antonio.borneo@st.com>
Date:   Mon Oct 7 17:43:04 2019 +0200

    net: stmmac: fix length of PTP clock's name string
    
    [ Upstream commit 5da202c88f8c355ad79bc2e8eb582e6d433060e7 ]
    
    The field "name" in struct ptp_clock_info has a fixed size of 16
    chars and is used as zero terminated string by clock_name_show()
    in drivers/ptp/ptp_sysfs.c
    The current initialization value requires 17 chars to fit also the
    null termination, and this causes overflow to the next bytes in
    the struct when the string is read as null terminated:
            hexdump -C /sys/class/ptp/ptp0/clock_name
            00000000  73 74 6d 6d 61 63 5f 70  74 70 5f 63 6c 6f 63 6b  |stmmac_ptp_clock|
            00000010  a0 ac b9 03 0a                                    |.....|
    where the extra 4 bytes (excluding the newline) after the string
    represent the integer 0x03b9aca0 = 62500000 assigned to the field
    "max_adj" that follows "name" in the same struct.
    
    There is no strict requirement for the "name" content and in the
    comment in ptp_clock_kernel.h it's reported it should just be 'A
    short "friendly name" to identify the clock'.
    Replace it with "stmmac ptp".
    
    Signed-off-by: Antonio Borneo <antonio.borneo@st.com>
    Fixes: 92ba6888510c ("stmmac: add the support for PTP hw clock driver")
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c0b6d8544b73bdf5ff7d5fb78b5a422415a4f19d
Author: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
Date:   Tue Oct 8 17:56:03 2019 +0800

    ip6erspan: remove the incorrect mtu limit for ip6erspan
    
    [ Upstream commit 4123f637a5129470ff9d3cb00a5a4e213f2e15cc ]
    
    ip6erspan driver calls ether_setup(), after commit 61e84623ace3
    ("net: centralize net_device min/max MTU checking"), the range
    of mtu is [min_mtu, max_mtu], which is [68, 1500] by default.
    
    It causes the dev mtu of the erspan device to not be greater
    than 1500, this limit value is not correct for ip6erspan tap
    device.
    
    Fixes: 61e84623ace3 ("net: centralize net_device min/max MTU checking")
    Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
    Acked-by: William Tu <u9012063@gmail.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 255aba7762bf83096d8437dc7c583ef9abea10a1
Author: Eric Biggers <ebiggers@google.com>
Date:   Sun Oct 6 14:24:27 2019 -0700

    llc: fix sk_buff refcounting in llc_conn_state_process()
    
    [ Upstream commit 36453c852816f19947ca482a595dffdd2efa4965 ]
    
    If llc_conn_state_process() sees that llc_conn_service() put the skb on
    a list, it will drop one fewer references to it.  This is wrong because
    the current behavior is that llc_conn_service() never consumes a
    reference to the skb.
    
    The code also makes the number of skb references being dropped
    conditional on which of ind_prim and cfm_prim are nonzero, yet neither
    of these affects how many references are *acquired*.  So there is extra
    code that tries to fix this up by sometimes taking another reference.
    
    Remove the unnecessary/broken refcounting logic and instead just add an
    skb_get() before the only two places where an extra reference is
    actually consumed.
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 796d0f369aff2845b3623b8bec20002b1b376ca8
Author: Eric Biggers <ebiggers@google.com>
Date:   Sun Oct 6 14:24:26 2019 -0700

    llc: fix another potential sk_buff leak in llc_ui_sendmsg()
    
    [ Upstream commit fc8d5db10cbe1338a52ebc74e7feab9276721774 ]
    
    All callers of llc_conn_state_process() except llc_build_and_send_pkt()
    (via llc_ui_sendmsg() -> llc_ui_send_data()) assume that it always
    consumes a reference to the skb.  Fix this caller to do the same.
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3fa1de685ce731147ea8bd9a543bc4def2b13089
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Fri Oct 4 15:37:05 2019 +0300

    mac80211: accept deauth frames in IBSS mode
    
    [ Upstream commit 95697f9907bfe3eab0ef20265a766b22e27dde64 ]
    
    We can process deauth frames and all, but we drop them very
    early in the RX path today - this could never have worked.
    
    Fixes: 2cc59e784b54 ("mac80211: reply to AUTH with DEAUTH if sta allocation fails in IBSS")
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/20191004123706.15768-2-luca@coelho.fi
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c56289ec58f90100e33cb9f014f8e6560d4b54c7
Author: David Howells <dhowells@redhat.com>
Date:   Mon Oct 7 10:58:29 2019 +0100

    rxrpc: Fix trace-after-put looking at the put connection record
    
    [ Upstream commit 4c1295dccc0afe0905b6ca4c62ade7f2406f2cfb ]
    
    rxrpc_put_*conn() calls trace_rxrpc_conn() after they have done the
    decrement of the refcount - which looks at the debug_id in the connection
    record.  But unless the refcount was reduced to zero, we no longer have the
    right to look in the record and, indeed, it may be deleted by some other
    thread.
    
    Fix this by getting the debug_id out before decrementing the refcount and
    then passing that into the tracepoint.
    
    Fixes: 363deeab6d0f ("rxrpc: Add connection tracepoint and client conn state tracepoint")
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 77d02cb04bab5743e8e462c786bbd4e5414beb9e
Author: Jose Abreu <Jose.Abreu@synopsys.com>
Date:   Sun Oct 6 13:08:56 2019 +0200

    net: stmmac: gmac4+: Not all Unicast addresses may be available
    
    [ Upstream commit 25683bab09a70542b9f8e3e28f79b3369e56701f ]
    
    Some setups may not have all Unicast addresses filters available. Check
    the number of available filters before trying to setup it.
    
    Fixes: 477286b53f55 ("stmmac: add GMAC4 core support")
    Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 46e58ffb2ec8127baa1ac9edfc123f669fee3140
Author: Ard Biesheuvel <ardb@kernel.org>
Date:   Thu Oct 3 13:57:29 2019 +0200

    nvme: retain split access workaround for capability reads
    
    [ Upstream commit 3a8ecc935efabdad106b5e06d07b150c394b4465 ]
    
    Commit 7fd8930f26be4
    
      "nvme: add a common helper to read Identify Controller data"
    
    has re-introduced an issue that we have attempted to work around in the
    past, in commit a310acd7a7ea ("NVMe: use split lo_hi_{read,write}q").
    
    The problem is that some PCIe NVMe controllers do not implement 64-bit
    outbound accesses correctly, which is why the commit above switched
    to using lo_hi_[read|write]q for all 64-bit BAR accesses occuring in
    the code.
    
    In the mean time, the NVMe subsystem has been refactored, and now calls
    into the PCIe support layer for NVMe via a .reg_read64() method, which
    fails to use lo_hi_readq(), and thus reintroduces the problem that the
    workaround above aimed to address.
    
    Given that, at the moment, .reg_read64() is only used to read the
    capability register [which is known to tolerate split reads], let's
    switch .reg_read64() to lo_hi_readq() as well.
    
    This fixes a boot issue on some ARM boxes with NVMe behind a Synopsys
    DesignWare PCIe host controller.
    
    Fixes: 7fd8930f26be4 ("nvme: add a common helper to read Identify Controller data")
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 172c529cb00acc367426a3aab72ceb8d3c742ca5
Author: Vladimir Oltean <olteanv@gmail.com>
Date:   Sun Sep 29 02:39:48 2019 +0300

    net: sched: cbs: Avoid division by zero when calculating the port rate
    
    [ Upstream commit 83c8c3cf45163f0c823db37be6ab04dfcf8ac751 ]
    
    As explained in the "net: sched: taprio: Avoid division by zero on
    invalid link speed" commit, it is legal for the ethtool API to return
    zero as a link speed. So guard against it to ensure we don't perform a
    division by zero in kernel.
    
    Fixes: e0a7683d30e9 ("net/sched: cbs: fix port_rate miscalculation")
    Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
    Acked-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 13260106d33a5d23c731f240eb56b799102ab286
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Sep 25 14:05:54 2019 +0300

    net: ethernet: stmmac: Fix signedness bug in ipq806x_gmac_of_parse()
    
    [ Upstream commit 231042181dc9d6122c6faba64e99ccb25f13cc6c ]
    
    The "gmac->phy_mode" variable is an enum and in this context GCC will
    treat it as an unsigned int so the error handling will never be
    triggered.
    
    Fixes: b1c17215d718 ("stmmac: add ipq806x glue layer")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 42a9b766ab1ff36d0e168a5b9e29783394596948
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Sep 25 14:05:24 2019 +0300

    net: nixge: Fix a signedness bug in nixge_probe()
    
    [ Upstream commit 1a4b62a0b8a3b81eca24366f63e214a7144b9f02 ]
    
    The "priv->phy_mode" is an enum and in this context GCC will treat it
    as an unsigned int so it can never be less than zero.
    
    Fixes: 492caffa8a1a ("net: ethernet: nixge: Add support for National Instruments XGE netdev")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit aa08e30cb7c481ced2ae7ea04441358fa71cd807
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Sep 25 14:01:00 2019 +0300

    of: mdio: Fix a signedness bug in of_phy_get_and_connect()
    
    [ Upstream commit d7eb651212fdbafa82d485d8e76095ac3b14c193 ]
    
    The "iface" variable is an enum and in this context GCC treats it as
    an unsigned int so the error handling is never triggered.
    
    Fixes: b78624125304 ("of_mdio: Abstract a general interface for phy connect")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bb8179ad7662fd44ddb9c721dbf3007aaa05f16f
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Sep 25 13:59:11 2019 +0300

    net: axienet: fix a signedness bug in probe
    
    [ Upstream commit 73e211e11be86715d66bd3c9d38b3c34b05fca9a ]
    
    The "lp->phy_mode" is an enum but in this context GCC treats it as an
    unsigned int so the error handling is never triggered.
    
    Fixes: ee06b1728b95 ("net: axienet: add support for standard phy-mode binding")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 39c421cb2721d7bb4af3291e4b209b11bd1db4d6
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Sep 25 13:58:22 2019 +0300

    net: stmmac: dwmac-meson8b: Fix signedness bug in probe
    
    [ Upstream commit f10210517a2f37feea2edf85eb34c98977265c16 ]
    
    The "dwmac->phy_mode" is an enum and in this context GCC treats it as
    an unsigned int so the error handling is never triggered.
    
    Fixes: 566e82516253 ("net: stmmac: add a glue driver for the Amlogic Meson 8b / GXBB DWMAC")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9724794c961c89b177dfce860c5ad76c33457e97
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Sep 25 13:57:50 2019 +0300

    net: socionext: Fix a signedness bug in ave_probe()
    
    [ Upstream commit 7f9e88e6ef8c971f2c638b5ff7044c59b5d0f58d ]
    
    The "phy_mode" variable is an enum and in this context GCC treats it as
    an unsigned int so the error handling is never triggered.
    
    Fixes: 4c270b55a5af ("net: ethernet: socionext: add AVE ethernet driver")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fb3809dde0acd7d492dd085490b4f5ee900c96ad
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Sep 25 13:56:38 2019 +0300

    net: netsec: Fix signedness bug in netsec_probe()
    
    [ Upstream commit bd55f8ddbc437c225391ca8f487e7ec10243c4cc ]
    
    The "priv->phy_interface" variable is an enum and in this context GCC
    will treat it as an unsigned int so the error handling is never
    triggered.
    
    Fixes: 533dd11a12f6 ("net: socionext: Add Synquacer NetSec driver")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 49ebb26880bc4f0d3b748d3ec48110a459b1f6ad
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Sep 25 13:56:04 2019 +0300

    net: broadcom/bcmsysport: Fix signedness in bcm_sysport_probe()
    
    [ Upstream commit 25a584955f020d6ec499c513923fb220f3112d2b ]
    
    The "priv->phy_interface" variable is an enum and in this context GCC
    will treat it as unsigned so the error handling will never be
    triggered.
    
    Fixes: 80105befdb4b ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ad0a596e189770640e389074ba0cadeb787298a4
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Sep 25 13:55:32 2019 +0300

    net: hisilicon: Fix signedness bug in hix5hd2_dev_probe()
    
    [ Upstream commit 002dfe8085255b7bf1e0758c3d195c5412d35be9 ]
    
    The "priv->phy_mode" variable is an enum and in this context GCC will
    treat it as unsigned to the error handling will never trigger.
    
    Fixes: 57c5bc9ad7d7 ("net: hisilicon: add hix5hd2 mac driver")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit aaf27e4fffef8f83ce721b9526c9671a2bdb7b8f
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Sep 25 13:54:59 2019 +0300

    cxgb4: Signedness bug in init_one()
    
    [ Upstream commit 286183147666fb76c057836c57d86e9e6f508bca ]
    
    The "chip" variable is an enum, and it's treated as unsigned int by GCC
    in this context so the error handling isn't triggered.
    
    Fixes: e8d452923ae6 ("cxgb4: clean up init_one")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e33906f580f3385198c515615dd1d7e854d29fb8
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Sep 25 13:54:30 2019 +0300

    net: aquantia: Fix aq_vec_isr_legacy() return value
    
    [ Upstream commit 31aefe14bc9f56566041303d733fda511d3a1c3e ]
    
    The irqreturn_t type is an enum or an unsigned int in GCC.  That
    creates to problems because it can't detect if the
    self->aq_hw_ops->hw_irq_read() call fails and at the end the function
    always returns IRQ_HANDLED.
    
    drivers/net/ethernet/aquantia/atlantic/aq_vec.c:316 aq_vec_isr_legacy() warn: unsigned 'err' is never less than zero.
    drivers/net/ethernet/aquantia/atlantic/aq_vec.c:329 aq_vec_isr_legacy() warn: always true condition '(err >= 0) => (0-u32max >= 0)'
    
    Fixes: 970a2e9864b0 ("net: ethernet: aquantia: Vector operations")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Igor Russkikh <igor.russkikh@aquantia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0ddfa755b3720e0305a1f3192355c3917073ece0
Author: Filippo Sironi <sironi@amazon.de>
Date:   Tue Sep 10 19:49:21 2019 +0200

    iommu/amd: Wait for completion of IOTLB flush in attach_device
    
    [ Upstream commit 0b15e02f0cc4fb34a9160de7ba6db3a4013dc1b7 ]
    
    To make sure the domain tlb flush completes before the
    function returns, explicitly wait for its completion.
    
    Signed-off-by: Filippo Sironi <sironi@amazon.de>
    Fixes: 42a49f965a8d ("amd-iommu: flush domain tlb when attaching a new device")
    [joro: Added commit message and fixes tag]
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7e5a18b309b81fb0f4f950aea2dfaba3f29974fc
Author: Yunfeng Ye <yeyunfeng@huawei.com>
Date:   Sun Sep 15 17:31:14 2019 +0800

    crypto: hisilicon - Matching the dma address for dma_pool_free()
    
    [ Upstream commit e00371af1d4ce73d527d8ee69fda2febaf5a42c2 ]
    
    When dma_pool_zalloc() fail in sec_alloc_and_fill_hw_sgl(),
    dma_pool_free() is invoked, but the parameters that sgl_current and
    sgl_current->next_sgl is not match.
    
    Using sec_free_hw_sgl() instead of the original free routine.
    
    Fixes: 915e4e8413da ("crypto: hisilicon - SEC security accelerator driver")
    Signed-off-by: Yunfeng Ye <yeyunfeng@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 62bce3654c9509fc0ccc8a3eb99a1b0a0153e0ec
Author: Alexei Starovoitov <ast@kernel.org>
Date:   Tue Sep 17 10:45:38 2019 -0700

    bpf: fix BTF limits
    
    [ Upstream commit a0791f0df7d212c245761538b17a9ea93607b667 ]
    
    vmlinux BTF has more than 64k types.
    Its string section is also at the offset larger than 64k.
    Adjust both limits to make in-kernel BTF verifier successfully parse in-kernel BTF.
    
    Fixes: 69b693f0aefa ("bpf: btf: Introduce BPF Type Format (BTF)")
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Acked-by: Martin KaFai Lau <kafai@fb.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 90de8a2f70a3f2f5c1fb75829d8c297246f61ffd
Author: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Date:   Wed Sep 18 20:23:28 2019 +0530

    powerpc/mm/mce: Keep irqs disabled during lockless page table walk
    
    [ Upstream commit d9101bfa6adc831bda8836c4d774820553c14942 ]
    
    __find_linux_mm_pte() returns a page table entry pointer after walking
    the page table without holding locks. To make it safe against a THP
    split and/or collapse, we disable interrupts around the lockless page
    table walk. However we need to keep interrupts disabled as long as we
    use the page table entry pointer that is returned.
    
    Fix addr_to_pfn() to do that.
    
    Fixes: ba41e1e1ccb9 ("powerpc/mce: Hookup derror (load/store) UE errors")
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    [mpe: Rearrange code slightly and tweak change log wording]
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190918145328.28602-1-aneesh.kumar@linux.ibm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 12ed084d51056373d1dd1f3acd69e10150c708fa
Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Date:   Mon Sep 16 21:15:40 2019 +0530

    clk: actions: Fix factor clk struct member access
    
    [ Upstream commit ed309bfb4812e8b31a3eb877e157b8028a49e50c ]
    
    Since the helper "owl_factor_helper_round_rate" is shared between factor
    and composite clocks, using the factor clk specific helper function
    like "hw_to_owl_factor" to access its members will create issues when
    called from composite clk specific code. Hence, pass the "factor_hw"
    struct pointer directly instead of fetching it using factor clk specific
    helpers.
    
    This issue has been observed when a composite clock like "sd0_clk" tried
    to call "owl_factor_helper_round_rate" resulting in pointer dereferencing
    error.
    
    While we are at it, let's rename the "clk_val_best" function to
    "owl_clk_val_best" since this is an owl SoCs specific helper.
    
    Fixes: 4bb78fc9744a ("clk: actions: Add factor clock support")
    Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    Reviewed-by: Stephen Boyd <sboyd@kernel.org>
    Link: https://lkml.kernel.org/r/20190916154546.24982-2-manivannan.sadhasivam@linaro.org
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 24d6f60b670d4f63940cc5ff2c28306c47be4b64
Author: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
Date:   Mon Sep 9 11:08:50 2019 +0200

    mailbox: qcom-apcs: fix max_register value
    
    [ Upstream commit 556a0964e28c4441dcdd50fb07596fd042246bd5 ]
    
    The mailbox length is 0x1000 hence the max_register value is 0xFFC.
    
    Fixes: c6a8b171ca8e ("mailbox: qcom: Convert APCS IPC driver to use
    regmap")
    Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
    Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f42b8aa3138cc90fc332f174ff76cd35a81ec385
Author: Chao Yu <chao@kernel.org>
Date:   Tue Sep 10 09:14:16 2019 +0800

    f2fs: fix to avoid accessing uninitialized field of inode page in is_alive()
    
    [ Upstream commit 98194030554cd9b10568a9b58f5a135c7e7cba85 ]
    
    If inode is newly created, inode page may not synchronize with inode cache,
    so fields like .i_inline or .i_extra_isize could be wrong, in below call
    path, we may access such wrong fields, result in failing to migrate valid
    target block.
    
    Thread A                                Thread B
    - f2fs_create
     - f2fs_add_link
      - f2fs_add_dentry
       - f2fs_init_inode_metadata
        - f2fs_add_inline_entry
         - f2fs_new_inode_page
         - f2fs_put_page
         : inode page wasn't updated with inode cache
                                            - gc_data_segment
                                             - is_alive
                                              - f2fs_get_node_page
                                              - datablock_addr
                                               - offset_in_addr
                                               : access uninitialized fields
    
    Fixes: 7a2af766af15 ("f2fs: enhance on-disk inode structure scalability")
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3f225f58d89591eccde789e09589e61fdf2193e3
Author: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Date:   Sat Sep 14 00:01:39 2019 -0400

    bnxt_en: Increase timeout for HWRM_DBG_COREDUMP_XX commands
    
    [ Upstream commit 57a8730b1f7a0be7bf8a0a0bb665329074ba764f ]
    
    Firmware coredump messages take much longer than standard messages,
    so increase the timeout accordingly.
    
    Fixes: 6c5657d085ae ("bnxt_en: Add support for ethtool get dump.")
    Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 142c25ae48721d4ea287b780f741a0bba8a83947
Author: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Date:   Fri Jul 12 12:51:27 2019 +0100

    um: Fix off by one error in IRQ enumeration
    
    [ Upstream commit 09ccf0364ca3e94aba4093707ef433ea8014e2a4 ]
    
    Fix an off-by-one in IRQ enumeration
    
    Fixes: 49da7e64f33e ("High Performance UML Vector Network Driver")
    Reported by: Dana Johnson <djohns042@gmail.com>
    Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com>
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e062ddd0cb08890e4df327e7846b69ffe62c3a8a
Author: Gerd Rausch <gerd.rausch@oracle.com>
Date:   Thu Sep 12 13:49:41 2019 -0700

    net/rds: Fix 'ib_evt_handler_call' element in 'rds_ib_stat_names'
    
    [ Upstream commit 05a82481a3024b94db00b8c816bb3d526b5209e0 ]
    
    All entries in 'rds_ib_stat_names' are stringified versions
    of the corresponding "struct rds_ib_statistics" element
    without the "s_"-prefix.
    
    Fix entry 'ib_evt_handler_call' to do the same.
    
    Fixes: f4f943c958a2 ("RDS: IB: ack more receive completions to improve performance")
    Signed-off-by: Gerd Rausch <gerd.rausch@oracle.com>
    Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d884abbda0bd49a10889798890ae0b4fc194c31f
Author: HÃ¥kon Bugge <haakon.bugge@oracle.com>
Date:   Mon Sep 2 11:27:31 2019 +0200

    RDMA/cma: Fix false error message
    
    [ Upstream commit a6e4d254c19b541a58caced322111084b27a7788 ]
    
    In addr_handler(), assuming status == 0 and the device already has been
    acquired (id_priv->cma_dev != NULL), we get the following incorrect
    "error" message:
    
    RDMA CM: ADDR_ERROR: failed to resolve IP. status 0
    
    Fixes: 498683c6a7ee ("IB/cma: Add debug messages to error flows")
    Link: https://lore.kernel.org/r/20190902092731.1055757-1-haakon.bugge@oracle.com
    Signed-off-by: HÃ¥kon Bugge <haakon.bugge@oracle.com>
    Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c0469da299afe0df7601caa59cce6ec469446fde
Author: Nicolas Boichat <drinkcat@chromium.org>
Date:   Tue Sep 10 16:46:17 2019 +0300

    ath10k: adjust skb length in ath10k_sdio_mbox_rx_packet
    
    [ Upstream commit b7139960832eb56fa15d390a4b5c8c5739bd0d1a ]
    
    When the FW bundles multiple packets, pkt->act_len may be incorrect
    as it refers to the first packet only (however, the FW will only
    bundle packets that fit into the same pkt->alloc_len).
    
    Before this patch, the skb length would be set (incorrectly) to
    pkt->act_len in ath10k_sdio_mbox_rx_packet, and then later manually
    adjusted in ath10k_sdio_mbox_rx_process_packet.
    
    The first problem is that ath10k_sdio_mbox_rx_process_packet does not
    use proper skb_put commands to adjust the length (it directly changes
    skb->len), so we end up with a mismatch between skb->head + skb->tail
    and skb->data + skb->len. This is quite serious, and causes corruptions
    in the TCP stack, as the stack tries to coalesce packets, and relies
    on skb->tail being correct (that is, skb_tail_pointer must point to
    the first byte_after_ the data).
    
    Instead of re-adjusting the size in ath10k_sdio_mbox_rx_process_packet,
    this moves the code to ath10k_sdio_mbox_rx_packet, and also add a
    bounds check, as skb_put would crash the kernel if not enough space is
    available.
    
    Tested with QCA6174 SDIO with firmware
    WLAN.RMH.4.4.1-00007-QCARMSWP-1.
    
    Fixes: 8530b4e7b22bc3b ("ath10k: sdio: set skb len for all rx packets")
    Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
    Signed-off-by: Wen Gong <wgong@codeaurora.org>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5207c6d79d0149caccc78b172f7168229b37ba1a
Author: Rashmica Gupta <rashmica.g@gmail.com>
Date:   Fri Sep 6 16:26:22 2019 +1000

    gpio/aspeed: Fix incorrect number of banks
    
    [ Upstream commit 3c4710ae6f883f9c6e3df5e27e274702a1221c57 ]
    
    The current calculation for the number of GPIO banks is only correct if
    the number of GPIOs is a multiple of 32 (if there were 31 GPIOs we would
    currently say there are 0 banks, which is incorrect).
    
    Fixes: 361b79119a4b7 ('gpio: Add Aspeed driver')
    
    Signed-off-by: Rashmica Gupta <rashmica.g@gmail.com>
    Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
    Link: https://lore.kernel.org/r/20190906062623.13354-1-rashmica.g@gmail.com
    Reviewed-by: Joel Stanley <joel@jms.d.au>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9de3a3a7a1d2c145fd692d2e1af11a2eb303f059
Author: Li Jin <li.jin@broadcom.com>
Date:   Thu Aug 29 10:22:27 2019 +0530

    pinctrl: iproc-gpio: Fix incorrect pinconf configurations
    
    [ Upstream commit 398a1f50e3c731586182fd52b834103b0aa2f826 ]
    
    Fix drive strength for AON/CRMU controller; fix pull-up/down setting
    for CCM/CDRU controller.
    
    Fixes: 616043d58a89 ("pinctrl: Rename gpio driver from cygnus to iproc")
    Signed-off-by: Li Jin <li.jin@broadcom.com>
    Link: https://lore.kernel.org/r/1567054348-19685-2-git-send-email-srinath.mannam@broadcom.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4e132b2f9d8c6cadc141bbac3a90224e27b8cb49
Author: Mao Wenan <maowenan@huawei.com>
Date:   Wed Sep 11 09:36:23 2019 +0800

    net: sonic: replace dev_kfree_skb in sonic_send_packet
    
    [ Upstream commit 49f6c90bf6805948b597eabb499e500a47cf24be ]
    
    sonic_send_packet will be processed in irq or non-irq
    context, so it would better use dev_kfree_skb_any
    instead of dev_kfree_skb.
    
    Fixes: d9fb9f384292 ("*sonic/natsemi/ns83829: Move the National Semi-conductor drivers")
    Signed-off-by: Mao Wenan <maowenan@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 16a9af68d48cc51501e2a780fc2ffbbf3690c4ce
Author: Dan Robertson <dan@dlrobertson.com>
Date:   Thu Sep 5 01:45:54 2019 +0000

    hwmon: (shtc1) fix shtc1 and shtw1 id mask
    
    [ Upstream commit fdc7d8e829ec755c5cfb2f5a8d8c0cdfb664f895 ]
    
    Fix an error in the bitmaskfor the shtc1 and shtw1 bitmask used to
    retrieve the chip ID from the ID register. See section 5.7 of the shtw1
    or shtc1 datasheet for details.
    
    Fixes: 1a539d372edd9832444e7a3daa710c444c014dc9 ("hwmon: add support for Sensirion SHTC1 sensor")
    Signed-off-by: Dan Robertson <dan@dlrobertson.com>
    Link: https://lore.kernel.org/r/20190905014554.21658-3-dan@dlrobertson.com
    [groeck: Reordered to be first in series and adjusted accordingly]
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f91139e250fcbf294b095d53497c7d8da8d6c62b
Author: Firo Yang <firo.yang@suse.com>
Date:   Thu Aug 8 04:03:49 2019 +0000

    ixgbe: sync the first fragment unconditionally
    
    [ Upstream commit e7ba676c6188d394a0133fc4b9bcd7ee50d54b7f ]
    
    In Xen environment, if Xen-swiotlb is enabled, ixgbe driver
    could possibly allocate a page, DMA memory buffer, for the first
    fragment which is not suitable for Xen-swiotlb to do DMA operations.
    Xen-swiotlb have to internally allocate another page for doing DMA
    operations. This mechanism requires syncing the data from the internal
    page to the page which ixgbe sends to upper network stack. However,
    since commit f3213d932173 ("ixgbe: Update driver to make use of DMA
    attributes in Rx path"), the unmap operation is performed with
    DMA_ATTR_SKIP_CPU_SYNC. As a result, the sync is not performed.
    Since the sync isn't performed, the upper network stack could receive
    a incomplete network packet. By incomplete, it means the linear data
    on the first fragment(between skb->head and skb->end) is invalid. So
    we have to copy the data from the internal xen-swiotlb page to the page
    which ixgbe sends to upper network stack through the sync operation.
    
    More details from Alexander Duyck:
    Specifically since we are mapping the frame with
    DMA_ATTR_SKIP_CPU_SYNC we have to unmap with that as well. As a result
    a sync is not performed on an unmap and must be done manually as we
    skipped it for the first frag. As such we need to always sync before
    possibly performing a page unmap operation.
    
    Fixes: f3213d932173 ("ixgbe: Update driver to make use of DMA attributes in Rx path")
    Signed-off-by: Firo Yang <firo.yang@suse.com>
    Reviewed-by: Alexander Duyck <alexander.h.duyck@linux.intel.com>
    Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6ec047a0b80c0d1288f5d3424dfc699aa3ea76a1
Author: Omar Sandoval <osandov@fb.com>
Date:   Thu Aug 15 14:04:02 2019 -0700

    btrfs: use correct count in btrfs_file_write_iter()
    
    [ Upstream commit c09767a8960ca0500fb636bf73686723337debf4 ]
    
    generic_write_checks() may modify iov_iter_count(), so we must get the
    count after the call, not before. Using the wrong one has a couple of
    consequences:
    
    1. We check a longer range in check_can_nocow() for nowait than we're
       actually writing.
    2. We create extra hole extent maps in btrfs_cont_expand(). As far as I
       can tell, this is harmless, but I might be missing something.
    
    These issues are pretty minor, but let's fix it before something more
    important trips on it.
    
    Fixes: edf064e7c6fe ("btrfs: nowait aio support")
    Reviewed-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: Omar Sandoval <osandov@fb.com>
    Reviewed-by: David Sterba <dsterba@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cbbc34abc395d3cf91265f3b35a29ca76f7c0c04
Author: Filipe Manana <fdmanana@suse.com>
Date:   Thu Jul 4 16:24:44 2019 +0100

    Btrfs: fix inode cache waiters hanging on path allocation failure
    
    [ Upstream commit 9d123a35d7e97bb2139747b16127c9b22b6a593e ]
    
    If the caching thread fails to allocate a path, it returns without waking
    up any cache waiters, leaving them hang forever. Fix this by following the
    same approach as when we fail to start the caching thread: print an error
    message, disable inode caching and make the wakers fallback to non-caching
    mode behaviour (calling btrfs_find_free_objectid()).
    
    Fixes: 581bb050941b4f ("Btrfs: Cache free inode numbers in memory")
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Filipe Manana <fdmanana@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b34203a51250f649fe870fe2253a75fff03e1d96
Author: Filipe Manana <fdmanana@suse.com>
Date:   Thu Jul 4 16:24:32 2019 +0100

    Btrfs: fix inode cache waiters hanging on failure to start caching thread
    
    [ Upstream commit a68ebe0790fc88b4314d17984a2cf99ce2361901 ]
    
    If we fail to start the inode caching thread, we print an error message
    and disable the inode cache, however we never wake up any waiters, so they
    hang forever waiting for the caching to finish. Fix this by waking them
    up and have them fallback to a call to btrfs_find_free_objectid().
    
    Fixes: e60efa84252c05 ("Btrfs: avoid triggering bug_on() when we fail to start inode caching task")
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Filipe Manana <fdmanana@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fe4929accb4511a3bb360a75332943c0323bc6e0
Author: Filipe Manana <fdmanana@suse.com>
Date:   Thu Jul 4 16:24:09 2019 +0100

    Btrfs: fix hang when loading existing inode cache off disk
    
    [ Upstream commit 7764d56baa844d7f6206394f21a0e8c1f303c476 ]
    
    If we are able to load an existing inode cache off disk, we set the state
    of the cache to BTRFS_CACHE_FINISHED, but we don't wake up any one waiting
    for the cache to be available. This means that anyone waiting for the
    cache to be available, waiting on the condition that either its state is
    BTRFS_CACHE_FINISHED or its available free space is greather than zero,
    can hang forever.
    
    This could be observed running fstests with MOUNT_OPTIONS="-o inode_cache",
    in particular test case generic/161 triggered it very frequently for me,
    producing a trace like the following:
    
      [63795.739712] BTRFS info (device sdc): enabling inode map caching
      [63795.739714] BTRFS info (device sdc): disk space caching is enabled
      [63795.739716] BTRFS info (device sdc): has skinny extents
      [64036.653886] INFO: task btrfs-transacti:3917 blocked for more than 120 seconds.
      [64036.654079]       Not tainted 5.2.0-rc4-btrfs-next-50 #1
      [64036.654143] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      [64036.654232] btrfs-transacti D    0  3917      2 0x80004000
      [64036.654239] Call Trace:
      [64036.654258]  ? __schedule+0x3ae/0x7b0
      [64036.654271]  schedule+0x3a/0xb0
      [64036.654325]  btrfs_commit_transaction+0x978/0xae0 [btrfs]
      [64036.654339]  ? remove_wait_queue+0x60/0x60
      [64036.654395]  transaction_kthread+0x146/0x180 [btrfs]
      [64036.654450]  ? btrfs_cleanup_transaction+0x620/0x620 [btrfs]
      [64036.654456]  kthread+0x103/0x140
      [64036.654464]  ? kthread_create_worker_on_cpu+0x70/0x70
      [64036.654476]  ret_from_fork+0x3a/0x50
      [64036.654504] INFO: task xfs_io:3919 blocked for more than 120 seconds.
      [64036.654568]       Not tainted 5.2.0-rc4-btrfs-next-50 #1
      [64036.654617] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      [64036.654685] xfs_io          D    0  3919   3633 0x00000000
      [64036.654691] Call Trace:
      [64036.654703]  ? __schedule+0x3ae/0x7b0
      [64036.654716]  schedule+0x3a/0xb0
      [64036.654756]  btrfs_find_free_ino+0xa9/0x120 [btrfs]
      [64036.654764]  ? remove_wait_queue+0x60/0x60
      [64036.654809]  btrfs_create+0x72/0x1f0 [btrfs]
      [64036.654822]  lookup_open+0x6bc/0x790
      [64036.654849]  path_openat+0x3bc/0xc00
      [64036.654854]  ? __lock_acquire+0x331/0x1cb0
      [64036.654869]  do_filp_open+0x99/0x110
      [64036.654884]  ? __alloc_fd+0xee/0x200
      [64036.654895]  ? do_raw_spin_unlock+0x49/0xc0
      [64036.654909]  ? do_sys_open+0x132/0x220
      [64036.654913]  do_sys_open+0x132/0x220
      [64036.654926]  do_syscall_64+0x60/0x1d0
      [64036.654933]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    Fix this by adding a wake_up() call right after setting the cache state to
    BTRFS_CACHE_FINISHED, at start_caching(), when we are able to load the
    cache from disk.
    
    Fixes: 82d5902d9c681b ("Btrfs: Support reading/writing on disk free ino cache")
    Reviewed-by: Nikolay Borisov <nborisov@suse.com>
    Signed-off-by: Filipe Manana <fdmanana@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 39b6e7f1dffb085ea73d154d75dbc3229c7144c9
Author: Govindarajulu Varadarajan <gvaradar@cisco.com>
Date:   Tue Aug 27 14:13:40 2019 -0700

    scsi: fnic: fix msix interrupt allocation
    
    [ Upstream commit 3ec24fb4c035e9cbb2f02a48640a09aa913442a2 ]
    
    pci_alloc_irq_vectors() returns number of vectors allocated.  Fix the check
    for error condition.
    
    Fixes: cca678dfbad49 ("scsi: fnic: switch to pci_alloc_irq_vectors")
    Link: https://lore.kernel.org/r/20190827211340.1095-1-gvaradar@cisco.com
    Signed-off-by: Govindarajulu Varadarajan <gvaradar@cisco.com>
    Acked-by: Satish Kharat <satishkh@cisco.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6b33b0ea44cad563195c69e16433eb196bdb9928
Author: Chao Yu <chao@kernel.org>
Date:   Tue Sep 3 10:06:25 2019 +0800

    f2fs: fix error path of f2fs_convert_inline_page()
    
    [ Upstream commit e8c82c11c93d586d03d80305959527bcac383555 ]
    
    In error path of f2fs_convert_inline_page(), we missed to truncate newly
    reserved block in .i_addrs[0] once we failed in get_node_info(), fix it.
    
    Fixes: 7735730d39d7 ("f2fs: fix to propagate error from __get_meta_page()")
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d5856e1b8e243d441098e70f735938468bb52899
Author: Chao Yu <chao@kernel.org>
Date:   Fri Aug 23 17:58:34 2019 +0800

    f2fs: fix wrong error injection path in inc_valid_block_count()
    
    [ Upstream commit 9ea2f0be6ceaebae1518a5f897cff2645830dd95 ]
    
    If FAULT_BLOCK type error injection is on, in inc_valid_block_count()
    we may decrease sbi->alloc_valid_block_count percpu stat count
    incorrectly, fix it.
    
    Fixes: 36b877af7992 ("f2fs: Keep alloc_valid_block_count in sync")
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f358f6210d3f930d403adf56a1b35e4280cd3d41
Author: Adam Ford <aford173@gmail.com>
Date:   Tue Aug 20 07:17:27 2019 -0500

    ARM: dts: logicpd-som-lv: Fix i2c2 and i2c3 Pin mux
    
    [ Upstream commit a932b77b4d1939ad173f18be87da409427fb705c ]
    
    When the pinmux configuration was added, it was accidentally placed into
    the omap3_pmx_wkup node  when it should have been placed into the
    omap3_pmx_core.  This error was accidentally propagated to stable by
    me when I blindly requested the pull after seeing I2C issues without
    actually reviewing the content of the pinout.  Since the bootloader
    previously muxed these correctly in the past, was a hidden error.
    
    This patch moves the i2c2_pins and i2c3_pins to the correct node
    which should eliminate i2c bus errors and timeouts due to the fact
    the bootloader uses the save device tree that no longer properly
    assigns these pins.
    
    Fixes: 5fe3c0fa0d54 ("ARM: dts: Add pinmuxing for i2c2 and i2c3
    for LogicPD SOM-LV") #4.9+
    
    Signed-off-by: Adam Ford <aford173@gmail.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 16e5d407ae7361f225f6f16438f2729978a344f4
Author: Wei Yongjun <weiyongjun1@huawei.com>
Date:   Wed Sep 4 14:16:11 2019 +0000

    rtlwifi: Fix file release memory leak
    
    [ Upstream commit 4c3e48794dec7cb568974ba3bf2ab62b9c45ca3e ]
    
    When using single_open() for opening, single_release() should be
    used instead of seq_release(), otherwise there is a memory leak.
    
    This is detected by Coccinelle semantic patch.
    
    Fixes: 610247f46feb ("rtlwifi: Improve debugging by using debugfs")
    Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d676203b6ca00b2cb69cf3de4e95363b349618a9
Author: Jian Shen <shenjian15@huawei.com>
Date:   Thu Sep 5 21:31:36 2019 +0800

    net: hns3: fix error VF index when setting VLAN offload
    
    [ Upstream commit d9c0f2756a33833b2653f7a3612814fa5f52a568 ]
    
    In original codes, the VF index used incorrectly in function
    hclge_set_vlan_rx_offload_cfg() and hclge_set_vlan_rx_offload_cfg().
    When VF id is greater than 8, for example 9, it will set the
    same bit with VF id 1.
    
    This patch fixes it by using  vport->vport_id % HCLGE_VF_NUM_PER_CMD /
    HCLGE_VF_NUM_PER_BYTE as the array index, instead of vport->vport_id /
    HCLGE_VF_NUM_PER_CMD.
    
    Fixes: 052ece6dc19c ("net: hns3: add ethtool related offload command")
    Signed-off-by: Jian Shen <shenjian15@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ed11b619d490ee1a0670447cc3a7e8c57e9733e1
Author: Mao Wenan <maowenan@huawei.com>
Date:   Thu Sep 5 09:57:12 2019 +0800

    net: sonic: return NETDEV_TX_OK if failed to map buffer
    
    [ Upstream commit 6e1cdedcf0362fed3aedfe051d46bd7ee2a85fe1 ]
    
    NETDEV_TX_BUSY really should only be used by drivers that call
    netif_tx_stop_queue() at the wrong moment. If dma_map_single() is
    failed to map tx DMA buffer, it might trigger an infinite loop.
    This patch use NETDEV_TX_OK instead of NETDEV_TX_BUSY, and change
    printk to pr_err_ratelimited.
    
    Fixes: d9fb9f384292 ("*sonic/natsemi/ns83829: Move the National Semi-conductor drivers")
    Signed-off-by: Mao Wenan <maowenan@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b6a99e96125a4bb7b1235eb73b6f1166a21b10b0
Author: Oleh Kravchenko <oleg@kaa.org.ua>
Date:   Wed Sep 4 00:18:19 2019 +0300

    led: triggers: Fix dereferencing of null pointer
    
    [ Upstream commit 4016ba85880b252365d11bc7dc899450f2c73ad7 ]
    
    Error was detected by PVS-Studio:
    V522 Dereferencing of the null pointer 'led_cdev->trigger' might take place.
    
    Fixes: 2282e125a406 ("leds: triggers: let struct led_trigger::activate() return an error code")
    Signed-off-by: Oleh Kravchenko <oleg@kaa.org.ua>
    Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 43a807541949a4bc5fba0eb8b76af453b68ec3f0
Author: Björn Töpel <bjorn.topel@intel.com>
Date:   Wed Sep 4 13:49:11 2019 +0200

    xsk: avoid store-tearing when assigning umem
    
    [ Upstream commit 9764f4b301c3e7eb3b75eec85b73cad449cdbb0d ]
    
    The umem member of struct xdp_sock is read outside of the control
    mutex, in the mmap implementation, and needs a WRITE_ONCE to avoid
    potential store-tearing.
    
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Fixes: 423f38329d26 ("xsk: add umem fill queue support and mmap")
    Signed-off-by: Björn Töpel <bjorn.topel@intel.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c31ead3c88ed00e96ceb482587af224c72d72ee0
Author: Björn Töpel <bjorn.topel@intel.com>
Date:   Wed Sep 4 13:49:10 2019 +0200

    xsk: avoid store-tearing when assigning queues
    
    [ Upstream commit 94a997637c5b562fa0ca44fca1d2cd02ec08236f ]
    
    Use WRITE_ONCE when doing the store of tx, rx, fq, and cq, to avoid
    potential store-tearing. These members are read outside of the control
    mutex in the mmap implementation.
    
    Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
    Fixes: 37b076933a8e ("xsk: add missing write- and data-dependency barrier")
    Signed-off-by: Björn Töpel <bjorn.topel@intel.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 07053105e8dab20b0468bb8069b6f40940622849
Author: Oscar A Perez <linux@neuralgames.com>
Date:   Wed May 1 13:26:43 2019 +0000

    ARM: dts: aspeed-g5: Fixe gpio-ranges upper limit
    
    [ Upstream commit 89b97c429e2e77d695b5133572ca12ec256a4ea4 ]
    
    According to the AST2500/AST2520 specs, these SoCs support up to 228 GPIO
    pins. However, 'gpio-ranges' value in 'aspeed-g5.dtsi' file is currently
    setting the upper limit to 220 which isn't allowing access to all their
    GPIOs. The correct upper limit value is 232 (actual number is 228 plus a
    4-GPIO hole in GPIOAB). Without this patch, GPIOs AC5 and AC6 do not work
    correctly on a AST2500 BMC running Linux Kernel v4.19
    
    Fixes: 2039f90d136c ("ARM: dts: aspeed-g5: Add gpio controller to devicetree")
    Signed-off-by: Oscar A Perez <linux@neuralgames.com>
    Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
    Signed-off-by: Joel Stanley <joel@jms.id.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 68baab14f832135518ba07d711756105a203a8e6
Author: Andrey Smirnov <andrew.smirnov@gmail.com>
Date:   Mon Jul 29 12:52:15 2019 -0700

    tty: serial: fsl_lpuart: Use appropriate lpuart32_* I/O funcs
    
    [ Upstream commit 1da17d7cf8e2c4b60163d54300f72c02f510327c ]
    
    When dealing with 32-bit variant of LPUART IP block appropriate I/O
    helpers have to be used to properly deal with endianness
    differences. Change all of the offending code to do that.
    
    Fixes: a5fa2660d787 ("tty/serial/fsl_lpuart: Add CONSOLE_POLL support
    for lpuart32.")
    Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
    Cc: Stefan Agner <stefan@agner.ch>
    Cc: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Cory Tusar <cory.tusar@zii.aero>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Jiri Slaby <jslaby@suse.com>
    Cc: linux-imx@nxp.com
    Cc: linux-serial@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Link: https://lore.kernel.org/r/20190729195226.8862-14-andrew.smirnov@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit afe31dc0f543fc0947cf072c3b1a92bf5efd27f5
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Mon Jul 22 16:59:01 2019 +0200

    wcn36xx: use dynamic allocation for large variables
    
    [ Upstream commit 355cf31912014e6ff1bb1019ae4858cad12c68cf ]
    
    clang triggers a warning about oversized stack frames that gcc does not
    notice because of slightly different inlining decisions:
    
    ath/wcn36xx/smd.c:1409:5: error: stack frame size of 1040 bytes in function 'wcn36xx_smd_config_bss' [-Werror,-Wframe-larger-than=]
    ath/wcn36xx/smd.c:640:5: error: stack frame size of 1032 bytes in function 'wcn36xx_smd_start_hw_scan' [-Werror,-Wframe-larger-than=]
    
    Basically the wcn36xx_hal_start_scan_offload_req_msg,
    wcn36xx_hal_config_bss_req_msg_v1, and wcn36xx_hal_config_bss_req_msg
    structures are too large to be put on the kernel stack, but small
    enough that gcc does not warn about them.
    
    Use kzalloc() to allocate them all. There are similar structures in other
    parts of this driver, but they are all smaller, with the next largest
    stack frame at 480 bytes for wcn36xx_smd_send_beacon.
    
    Fixes: 8e84c2582169 ("wcn36xx: mac80211 driver for Qualcomm WCN3660/WCN3680 hardware")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6317c5c86b13bf4ff0565769b5bb18b97f4248d5
Author: Lorenzo Bianconi <lorenzo@kernel.org>
Date:   Mon Aug 19 09:41:39 2019 +0200

    ath9k: dynack: fix possible deadlock in ath_dynack_node_{de}init
    
    [ Upstream commit e1aa1a1db3b01c9890e82cf065cee99962ba1ed9 ]
    
    Fix following lockdep warning disabling bh in
    ath_dynack_node_init/ath_dynack_node_deinit
    
    [   75.955878] --------------------------------
    [   75.955880] inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
    [   75.955884] swapper/0/0 [HC0[0]:SC1[3]:HE1:SE0] takes:
    [   75.955888] 00000000792a7ee0 (&(&da->qlock)->rlock){+.?.}, at: ath_dynack_sample_ack_ts+0x4d/0xa0 [ath9k_hw]
    [   75.955905] {SOFTIRQ-ON-W} state was registered at:
    [   75.955912]   lock_acquire+0x9a/0x160
    [   75.955917]   _raw_spin_lock+0x2c/0x70
    [   75.955927]   ath_dynack_node_init+0x2a/0x60 [ath9k_hw]
    [   75.955934]   ath9k_sta_state+0xec/0x160 [ath9k]
    [   75.955976]   drv_sta_state+0xb2/0x740 [mac80211]
    [   75.956008]   sta_info_insert_finish+0x21a/0x420 [mac80211]
    [   75.956039]   sta_info_insert_rcu+0x12b/0x2c0 [mac80211]
    [   75.956069]   sta_info_insert+0x7/0x70 [mac80211]
    [   75.956093]   ieee80211_prep_connection+0x42e/0x730 [mac80211]
    [   75.956120]   ieee80211_mgd_auth.cold+0xb9/0x15c [mac80211]
    [   75.956152]   cfg80211_mlme_auth+0x143/0x350 [cfg80211]
    [   75.956169]   nl80211_authenticate+0x25e/0x2b0 [cfg80211]
    [   75.956172]   genl_family_rcv_msg+0x198/0x400
    [   75.956174]   genl_rcv_msg+0x42/0x90
    [   75.956176]   netlink_rcv_skb+0x35/0xf0
    [   75.956178]   genl_rcv+0x1f/0x30
    [   75.956180]   netlink_unicast+0x154/0x200
    [   75.956182]   netlink_sendmsg+0x1bf/0x3d0
    [   75.956186]   ___sys_sendmsg+0x2c2/0x2f0
    [   75.956187]   __sys_sendmsg+0x44/0x80
    [   75.956190]   do_syscall_64+0x55/0x1a0
    [   75.956192]   entry_SYSCALL_64_after_hwframe+0x49/0xbe
    [   75.956194] irq event stamp: 2357092
    [   75.956196] hardirqs last  enabled at (2357092): [<ffffffff818c62de>] _raw_spin_unlock_irqrestore+0x3e/0x50
    [   75.956199] hardirqs last disabled at (2357091): [<ffffffff818c60b1>] _raw_spin_lock_irqsave+0x11/0x80
    [   75.956202] softirqs last  enabled at (2357072): [<ffffffff8106dc09>] irq_enter+0x59/0x60
    [   75.956204] softirqs last disabled at (2357073): [<ffffffff8106dcbe>] irq_exit+0xae/0xc0
    [   75.956206]
                   other info that might help us debug this:
    [   75.956207]  Possible unsafe locking scenario:
    
    [   75.956208]        CPU0
    [   75.956209]        ----
    [   75.956210]   lock(&(&da->qlock)->rlock);
    [   75.956213]   <Interrupt>
    [   75.956214]     lock(&(&da->qlock)->rlock);
    [   75.956216]
                    *** DEADLOCK ***
    
    [   75.956217] 1 lock held by swapper/0/0:
    [   75.956219]  #0: 000000003bb5675c (&(&sc->sc_pcu_lock)->rlock){+.-.}, at: ath9k_tasklet+0x55/0x240 [ath9k]
    [   75.956225]
                   stack backtrace:
    [   75.956228] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.3.0-rc1-wdn+ #13
    [   75.956229] Hardware name: Dell Inc. Studio XPS 1340/0K183D, BIOS A11 09/08/2009
    [   75.956231] Call Trace:
    [   75.956233]  <IRQ>
    [   75.956236]  dump_stack+0x67/0x90
    [   75.956239]  mark_lock+0x4c1/0x640
    [   75.956242]  ? check_usage_backwards+0x130/0x130
    [   75.956245]  ? sched_clock_local+0x12/0x80
    [   75.956247]  __lock_acquire+0x484/0x7a0
    [   75.956250]  ? __lock_acquire+0x3b9/0x7a0
    [   75.956252]  lock_acquire+0x9a/0x160
    [   75.956259]  ? ath_dynack_sample_ack_ts+0x4d/0xa0 [ath9k_hw]
    [   75.956262]  _raw_spin_lock_bh+0x34/0x80
    [   75.956268]  ? ath_dynack_sample_ack_ts+0x4d/0xa0 [ath9k_hw]
    [   75.956275]  ath_dynack_sample_ack_ts+0x4d/0xa0 [ath9k_hw]
    [   75.956280]  ath_rx_tasklet+0xd09/0xe90 [ath9k]
    [   75.956286]  ath9k_tasklet+0x102/0x240 [ath9k]
    [   75.956288]  tasklet_action_common.isra.0+0x6d/0x170
    [   75.956291]  __do_softirq+0xcc/0x425
    [   75.956294]  irq_exit+0xae/0xc0
    [   75.956296]  do_IRQ+0x8a/0x110
    [   75.956298]  common_interrupt+0xf/0xf
    [   75.956300]  </IRQ>
    [   75.956303] RIP: 0010:cpuidle_enter_state+0xb2/0x400
    [   75.956308] RSP: 0018:ffffffff82203e70 EFLAGS: 00000202 ORIG_RAX: ffffffffffffffd7
    [   75.956310] RAX: ffffffff82219800 RBX: ffffffff822bd0a0 RCX: 0000000000000000
    [   75.956312] RDX: 0000000000000046 RSI: 0000000000000006 RDI: ffffffff82219800
    [   75.956314] RBP: ffff888155a01c00 R08: 00000011af51aabe R09: 0000000000000000
    [   75.956315] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002
    [   75.956317] R13: 00000011af51aabe R14: 0000000000000003 R15: ffffffff82219800
    [   75.956321]  cpuidle_enter+0x24/0x40
    [   75.956323]  do_idle+0x1ac/0x220
    [   75.956326]  cpu_startup_entry+0x14/0x20
    [   75.956329]  start_kernel+0x482/0x489
    [   75.956332]  secondary_startup_64+0xa4/0xb0
    
    Fixes: c774d57fd47c ("ath9k: add dynamic ACK timeout estimation")
    Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
    Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 40b90859573f7248686695ce54c4bf8226ce10f7
Author: Pablo Neira Ayuso <pablo@netfilter.org>
Date:   Mon Sep 2 19:37:42 2019 +0200

    netfilter: ctnetlink: honor IPS_OFFLOAD flag
    
    [ Upstream commit b067fa009c884401d23846251031c1f14d8a9c77 ]
    
    If this flag is set, timeout and state are irrelevant to userspace.
    
    Fixes: 90964016e5d3 ("netfilter: nf_conntrack: add IPS_OFFLOAD status bit")
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e706ece1148f8ba3457578ad1d3a5ed65f4688b0
Author: Colin Ian King <colin.king@canonical.com>
Date:   Thu Aug 15 12:58:46 2019 +0100

    iio: dac: ad5380: fix incorrect assignment to val
    
    [ Upstream commit b1e18768ef1214c0a8048327918a182cabe09f9d ]
    
    Currently the pointer val is being incorrectly incremented
    instead of the value pointed to by val. Fix this by adding
    in the missing * indirection operator.
    
    Addresses-Coverity: ("Unused value")
    Fixes: c03f2c536818 ("staging:iio:dac: Add AD5380 driver")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Reviewed-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e7728e18a728bcbd072bca82650b10e0ba55a238
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Tue Sep 3 21:25:44 2019 +0800

    bcache: Fix an error code in bch_dump_read()
    
    [ Upstream commit d66c9920c0cf984cf99cab5036fd5f3a1b7fba46 ]
    
    The copy_to_user() function returns the number of bytes remaining to be
    copied, but the intention here was to return -EFAULT if the copy fails.
    
    Fixes: cafe56359144 ("bcache: A block layer cache")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Coly Li <colyli@suse.de>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2404a2e35aaf74add564abfdb09273bbffae8ace
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Tue Sep 3 20:10:26 2019 +0800

    usb: typec: tps6598x: Fix build error without CONFIG_REGMAP_I2C
    
    [ Upstream commit 35af2445dc306403254a181507b390ec9eb725d5 ]
    
    If CONFIG_REGMAP_I2C is not set, building fails:
    
    drivers/usb/typec/tps6598x.o: In function `tps6598x_probe':
    tps6598x.c:(.text+0x5f0): undefined reference to `__devm_regmap_init_i2c'
    
    Select REGMAP_I2C to fix this.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Fixes: 0a4c005bd171 ("usb: typec: driver for TI TPS6598x USB Power Delivery controllers")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
    Link: https://lore.kernel.org/r/20190903121026.22148-1-yuehaibing@huawei.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d5eda6cad06e0a9736d2257df718486f27e7fd05
Author: Colin Ian King <colin.king@canonical.com>
Date:   Tue Aug 27 09:16:20 2019 +0100

    bcma: fix incorrect update of BCMA_CORE_PCI_MDIO_DATA
    
    [ Upstream commit 420c20be08a4597404d272ae9793b642401146eb ]
    
    An earlier commit re-worked the setting of the bitmask and is now
    assigning v with some bit flags rather than bitwise or-ing them
    into v, consequently the earlier bit-settings of v are being lost.
    Fix this by replacing an assignment with the bitwise or instead.
    
    Addresses-Coverity: ("Unused value")
    Fixes: 2be25cac8402 ("bcma: add constants for PCI and use them")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3f929fe0ac4b92c6b2eb6371b19ea1658bf2fef9
Author: Dexuan Cui <decui@microsoft.com>
Date:   Mon Sep 2 23:14:56 2019 +0000

    irqdomain: Add the missing assignment of domain->fwnode for named fwnode
    
    [ Upstream commit 711419e504ebd68c8f03656616829c8ad7829389 ]
    
    Recently device pass-through stops working for Linux VM running on Hyper-V.
    
    git-bisect shows the regression is caused by the recent commit
    467a3bb97432 ("PCI: hv: Allocate a named fwnode ..."), but the root cause
    is that the commit d59f6617eef0 forgets to set the domain->fwnode for
    IRQCHIP_FWNODE_NAMED*, and as a result:
    
    1. The domain->fwnode remains to be NULL.
    
    2. irq_find_matching_fwspec() returns NULL since "h->fwnode == fwnode" is
    false, and pci_set_bus_msi_domain() sets the Hyper-V PCI root bus's
    msi_domain to NULL.
    
    3. When the device is added onto the root bus, the device's dev->msi_domain
    is set to NULL in pci_set_msi_domain().
    
    4. When a device driver tries to enable MSI-X, pci_msi_setup_msi_irqs()
    calls arch_setup_msi_irqs(), which uses the native MSI chip (i.e.
    arch/x86/kernel/apic/msi.c: pci_msi_controller) to set up the irqs, but
    actually pci_msi_setup_msi_irqs() is supposed to call
    msi_domain_alloc_irqs() with the hbus->irq_domain, which is created in
    hv_pcie_init_irq_domain() and is associated with the Hyper-V chip
    hv_msi_irq_chip. Consequently, the irq line is not properly set up, and
    the device driver can not receive any interrupt.
    
    Fixes: d59f6617eef0 ("genirq: Allow fwnode to carry name information only")
    Fixes: 467a3bb97432 ("PCI: hv: Allocate a named fwnode instead of an address-based one")
    Reported-by: Lili Deng <v-lide@microsoft.com>
    Signed-off-by: Dexuan Cui <decui@microsoft.com>
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/PU1P153MB01694D9AF625AC335C600C5FBFBE0@PU1P153MB0169.APCP153.PROD.OUTLOOK.COM
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8e456b4b1a3b91aa5cd59813a0bdc99f41de5f00
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu Aug 29 15:28:39 2019 +0300

    staging: greybus: light: fix a couple double frees
    
    [ Upstream commit 329101244f214952606359d254ae883b7109e1a5 ]
    
    The problem is in gb_lights_request_handler().  If we get a request to
    change the config then we release the light with gb_lights_light_release()
    and re-allocated it.  However, if the allocation fails part way through
    then we call gb_lights_light_release() again.  This can lead to a couple
    different double frees where we haven't cleared out the original values:
    
            gb_lights_light_v4l2_unregister(light);
            ...
            kfree(light->channels);
            kfree(light->name);
    
    I also made a small change to how we set "light->channels_count = 0;".
    The original code handled this part fine and did not cause a use after
    free but it was sort of complicated to read.
    
    Fixes: 2870b52bae4c ("greybus: lights: add lights implementation")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: Rui Miguel Silva <rmfrfs@gmail.com>
    Link: https://lore.kernel.org/r/20190829122839.GA20116@mwanda
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b686bc28e5747072766cc6c489a3c2f7a0c1581f
Author: Masami Hiramatsu <mhiramat@kernel.org>
Date:   Sun Sep 1 12:03:08 2019 +0900

    x86, perf: Fix the dependency of the x86 insn decoder selftest
    
    [ Upstream commit 7720804a2ae46c90265a32c81c45fb6f8d2f4e8b ]
    
    Since x86 instruction decoder is not only for kprobes,
    it should be tested when the insn.c is compiled.
    (e.g. perf is enabled but kprobes is disabled)
    
    Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Fixes: cbe5c34c8c1f ("x86: Compile insn.c and inat.c only for KPROBES")
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8a1327879fc76e10ccc8908a9beb2db1b905c1ad
Author: Stephen Boyd <swboyd@chromium.org>
Date:   Thu Aug 1 14:33:30 2019 -0700

    power: supply: Init device wakeup after device_add()
    
    [ Upstream commit 8288022284859acbcc3cf1a073a1e2692d6c2543 ]
    
    We may want to use the device pointer in device_init_wakeup() with
    functions that expect the device to already be added with device_add().
    For example, if we were to link the device initializing wakeup to
    something in sysfs such as a class for wakeups we'll run into an error.
    It looks like this code was written with the assumption that the device
    would be added before initializing wakeup due to the order of operations
    in power_supply_unregister().
    
    Let's change the order of operations so we don't run into problems here.
    
    Fixes: 948dcf966228 ("power_supply: Prevent suspend until power supply events are processed")
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Tri Vo <trong@android.com>
    Cc: Kalesh Singh <kaleshsingh@google.com>
    Cc: Ravi Chandra Sadineni <ravisadineni@chromium.org>
    Cc: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Stephen Boyd <swboyd@chromium.org>
    Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3df003e3a5662357643df022a8fd8d3eca77bb8f
Author: Vladimir Oltean <olteanv@gmail.com>
Date:   Fri Aug 30 04:07:23 2019 +0300

    net/sched: cbs: Set default link speed to 10 Mbps in cbs_set_port_rate
    
    [ Upstream commit 1c6c09a0ae62fa3ea8f8ead2ac3920e6fff2de64 ]
    
    The discussion to be made is absolutely the same as in the case of
    previous patch ("taprio: Set default link speed to 10 Mbps in
    taprio_set_picos_per_byte"). Nothing is lost when setting a default.
    
    Cc: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
    Fixes: e0a7683d30e9 ("net/sched: cbs: fix port_rate miscalculation")
    Acked-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
    Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 55027bf48126c3314c10ccaffe623833ec696adf
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Thu Aug 8 12:00:18 2019 -0700

    hwmon: (lm75) Fix write operations for negative temperatures
    
    [ Upstream commit 7d82fcc9d9e81241778aaa22fda7be753e237d86 ]
    
    Writes into limit registers fail if the temperature written is negative.
    The regmap write operation checks the value range, regmap_write accepts
    an unsigned int as parameter, and the temperature value passed to
    regmap_write is kept in a variable declared as long. Negative values
    are converted large unsigned integers, which fails the range check.
    Fix by type casting the temperature to u16 when calling regmap_write().
    
    Cc: Iker Perez del Palomar Sustatxa <iker.perez@codethink.co.uk>
    Fixes: e65365fed87f ("hwmon: (lm75) Convert to use regmap")
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d9711896dddfa9ba5257d8570124ab7e157f8cc9
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Fri Aug 30 18:47:15 2019 -0700

    Partially revert "kfifo: fix kfifo_alloc() and kfifo_init()"
    
    [ Upstream commit ab9bb6318b0967671e0c9b6537c1537d51ca4f45 ]
    
    Commit dfe2a77fd243 ("kfifo: fix kfifo_alloc() and kfifo_init()") made
    the kfifo code round the number of elements up.  That was good for
    __kfifo_alloc(), but it's actually wrong for __kfifo_init().
    
    The difference? __kfifo_alloc() will allocate the rounded-up number of
    elements, but __kfifo_init() uses an allocation done by the caller.  We
    can't just say "use more elements than the caller allocated", and have
    to round down.
    
    The good news? All the normal cases will be using power-of-two arrays
    anyway, and most users of kfifo's don't use kfifo_init() at all, but one
    of the helper macros to declare a KFIFO that enforce the proper
    power-of-two behavior.  But it looks like at least ibmvscsis might be
    affected.
    
    The bad news? Will Deacon refers to an old thread and points points out
    that the memory ordering in kfifo's is questionable.  See
    
      https://lore.kernel.org/lkml/20181211034032.32338-1-yuleixzhang@tencent.com/
    
    for more.
    
    Fixes: dfe2a77fd243 ("kfifo: fix kfifo_alloc() and kfifo_init()")
    Reported-by: laokz <laokz@foxmail.com>
    Cc: Stefani Seibold <stefani@seibold.net>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Dan Carpenter <dan.carpenter@oracle.com>
    Cc: Greg KH <greg@kroah.com>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 792668145b56165fd113f318f531e499a23e9a52
Author: David Howells <dhowells@redhat.com>
Date:   Thu Aug 29 14:12:11 2019 +0100

    rxrpc: Fix lack of conn cleanup when local endpoint is cleaned up [ver #2]
    
    [ Upstream commit d12040b6933f684a26773afad46dbba9778608d7 ]
    
    When a local endpoint is ceases to be in use, such as when the kafs module
    is unloaded, the kernel will emit an assertion failure if there are any
    outstanding client connections:
    
            rxrpc: Assertion failed
            ------------[ cut here ]------------
            kernel BUG at net/rxrpc/local_object.c:433!
    
    and even beyond that, will evince other oopses if there are service
    connections still present.
    
    Fix this by:
    
     (1) Removing the triggering of connection reaping when an rxrpc socket is
         released.  These don't actually clean up the connections anyway - and
         further, the local endpoint may still be in use through another
         socket.
    
     (2) Mark the local endpoint as dead when we start the process of tearing
         it down.
    
     (3) When destroying a local endpoint, strip all of its client connections
         from the idle list and discard the ref on each that the list was
         holding.
    
     (4) When destroying a local endpoint, call the service connection reaper
         directly (rather than through a workqueue) to immediately kill off all
         outstanding service connections.
    
     (5) Make the service connection reaper reap connections for which the
         local endpoint is marked dead.
    
    Only after destroying the connections can we close the socket lest we get
    an oops in a workqueue that's looking at a connection or a peer.
    
    Fixes: 3d18cbb7fd0c ("rxrpc: Fix conn expiry timers")
    Signed-off-by: David Howells <dhowells@redhat.com>
    Tested-by: Marc Dionne <marc.dionne@auristor.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5571688c22a8d55c73c4ca06424e6ec36f74e736
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Fri Aug 30 22:42:55 2019 +0300

    ahci: Do not export local variable ahci_em_messages
    
    [ Upstream commit 60fc35f327e0a9e60b955c0f3c3ed623608d1baa ]
    
    The commit ed08d40cdec4
      ("ahci: Changing two module params with static and __read_mostly")
    moved ahci_em_messages to be static while missing the fact of exporting it.
    
    WARNING: "ahci_em_messages" [vmlinux] is a static EXPORT_SYMBOL_GPL
    
    Drop export for the local variable ahci_em_messages.
    
    Fixes: ed08d40cdec4 ("ahci: Changing two module params with static and __read_mostly")
    Cc: Chuansheng Liu <chuansheng.liu@intel.com>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7cc6d758a24f7275f0c6660ef5f94dfc03797fe6
Author: Yong Wu <yong.wu@mediatek.com>
Date:   Sat Aug 24 11:01:50 2019 +0800

    iommu/mediatek: Fix iova_to_phys PA start for 4GB mode
    
    [ Upstream commit 76ce65464fcd2c21db84391572b7938b716aceb0 ]
    
    In M4U 4GB mode, the physical address is remapped as below:
    
    CPU Physical address:
    
    ====================
    
    0      1G       2G     3G       4G     5G
    |---A---|---B---|---C---|---D---|---E---|
    +--I/O--+------------Memory-------------+
    
    IOMMU output physical address:
     =============================
    
                                    4G      5G     6G      7G      8G
                                    |---E---|---B---|---C---|---D---|
                                    +------------Memory-------------+
    
    The Region 'A'(I/O) can not be mapped by M4U; For Region 'B'/'C'/'D', the
    bit32 of the CPU physical address always is needed to set, and for Region
    'E', the CPU physical address keep as is. something looks like this:
    CPU PA         ->    M4U OUTPUT PA
    0x4000_0000          0x1_4000_0000 (Add bit32)
    0x8000_0000          0x1_8000_0000 ...
    0xc000_0000          0x1_c000_0000 ...
    0x1_0000_0000        0x1_0000_0000 (No change)
    
    Additionally, the iommu consumers always use the CPU phyiscal address.
    
    The PA in the iova_to_phys that is got from v7s always is u32, But
    from the CPU point of view, PA only need add BIT(32) when PA < 0x4000_0000.
    
    Fixes: 30e2fccf9512 ("iommu/mediatek: Enlarge the validate PA range
    for 4GB mode")
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 767686f5ebdd14a9b2a454cf832b1de7f8ca5d88
Author: Markus Elfring <elfring@users.sourceforge.net>
Date:   Mon Aug 26 08:14:02 2019 -0300

    media: em28xx: Fix exception handling in em28xx_alloc_urbs()
    
    [ Upstream commit ecbce48f1ff2442371ebcd12ec0ecddb431fbd72 ]
    
    A null pointer would be passed to a call of the function "kfree" directly
    after a call of the function "kcalloc" failed at one place.
    Pass the data structure member "urb" instead for which memory
    was allocated before (so that this resource will be properly cleaned up).
    
    This issue was detected by using the Coccinelle software.
    
    Fixes: d571b592c6206d33731f41aa710fa0f69ac8611b ("media: em28xx: don't use coherent buffer for DMA transfers")
    Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1499054da857f7426e7d1e1cb453ca24aac32c83
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Mon Jul 29 14:10:12 2019 -0700

    mips: avoid explicit UB in assignment of mips_io_port_base
    
    [ Upstream commit 12051b318bc3ce5b42d6d786191008284b067d83 ]
    
    The code in question is modifying a variable declared const through
    pointer manipulation.  Such code is explicitly undefined behavior, and
    is the lone issue preventing malta_defconfig from booting when built
    with Clang:
    
    If an attempt is made to modify an object defined with a const-qualified
    type through use of an lvalue with non-const-qualified type, the
    behavior is undefined.
    
    LLVM is removing such assignments. A simple fix is to not declare
    variables const that you plan on modifying.  Limiting the scope would be
    a better method of preventing unwanted writes to such a variable.
    
    Further, the code in question mentions "compiler bugs" without any links
    to bug reports, so it is difficult to know if the issue is resolved in
    GCC. The patch was authored in 2006, which would have been GCC 4.0.3 or
    4.1.1. The minimal supported version of GCC in the Linux kernel is
    currently 4.6.
    
    For what its worth, there was UB before the commit in question, it just
    added a barrier and got lucky IRT codegen. I don't think there's any
    actual compiler bugs related, just runtime bugs due to UB.
    
    Link: https://github.com/ClangBuiltLinux/linux/issues/610
    Fixes: 966f4406d903 ("[MIPS] Work around bad code generation for <asm/io.h>.")
    Reported-by: Nathan Chancellor <natechancellor@gmail.com>
    Debugged-by: Nathan Chancellor <natechancellor@gmail.com>
    Suggested-by: Eli Friedman <efriedma@quicinc.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
    Tested-by: Nathan Chancellor <natechancellor@gmail.com>
    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Cc: ralf@linux-mips.org
    Cc: jhogan@kernel.org
    Cc: Maciej W. Rozycki <macro@linux-mips.org>
    Cc: Hassan Naveed <hnaveed@wavecomp.com>
    Cc: Stephen Kitt <steve@sk2.org>
    Cc: Serge Semin <fancer.lancer@gmail.com>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: clang-built-linux@googlegroups.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 630c20f52abf7a8195835103603164aeee0c3e1c
Author: Bruno Thomsen <bruno.thomsen@gmail.com>
Date:   Thu Aug 22 15:19:34 2019 +0200

    rtc: pcf2127: bugfix: read rtc disables watchdog
    
    [ Upstream commit 7f43020e3bdb63d65661ed377682702f8b34d3ea ]
    
    The previous fix listed bulk read of registers as root cause of
    accendential disabling of watchdog, since the watchdog counter
    register (WD_VAL) was zeroed.
    
    Fixes: 3769a375ab83 rtc: pcf2127: bulk read only date and time registers.
    
    Tested with the same PCF2127 chip as Sean reveled root cause
    of WD_VAL register value zeroing was caused by reading CTRL2
    register which is one of the watchdog feature control registers.
    
    So the solution is to not read the first two control registers
    (CTRL1 and CTRL2) in pcf2127_rtc_read_time as they are not
    needed anyway. Size of local buf variable is kept to allow
    easy usage of register defines to improve readability of code.
    
    Debug trace line was updated after CTRL1 and CTRL2 are no longer
    read from the chip. Also replaced magic numbers in buf access
    with register defines.
    
    Signed-off-by: Bruno Thomsen <bruno.thomsen@gmail.com>
    Link: https://lore.kernel.org/r/20190822131936.18772-3-bruno.thomsen@gmail.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f16e29f000f1de1f3030566d5b8c69b4b59afc5b
Author: Geert Uytterhoeven <geert@linux-m68k.org>
Date:   Wed Jul 31 12:38:48 2019 +0100

    ARM: 8896/1: VDSO: Don't leak kernel addresses
    
    [ Upstream commit 3e07590e7248db951fed6a2039403b5a39010be7 ]
    
    Since commit ad67b74d2469d9b8 ("printk: hash addresses printed with
    %p"), an obfuscated kernel pointer is printed at every boot if
    debugging is enabled:
    
        vdso: 1 text pages at base (____ptrval____)
    
    Remove the print completely, as it's useless without the address.
    
    Based on commit 0f1bf7e39822476b ("arm64/vdso: don't leak kernel
    addresses").
    
    Fixes: ad67b74d2469d9b8 ("printk: hash addresses printed with %p")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 57bc41eb3420b43823acc89745fe78ec5aa1585d
Author: Alexandre Kroupski <alexandre.kroupski@ingenico.com>
Date:   Tue Aug 20 08:37:45 2019 -0300

    media: atmel: atmel-isi: fix timeout value for stop streaming
    
    [ Upstream commit 623fd246bb40234fe68dd4e7c1f1f081f9c45a3d ]
    
    In case of sensor malfunction, stop streaming timeout takes much longer
    than expected. This is due to conversion of time to jiffies: milliseconds
    multiplied with HZ (ticks/second) gives out a value of jiffies with 10^3
    greater. We need to also divide by 10^3 to obtain the right jiffies value.
    In other words FRAME_INTERVAL_MILLI_SEC must be in seconds in order to
    multiply by HZ and get the right jiffies value to add to the current
    jiffies for the timeout expire time.
    
    Fixes: 195ebc43bf76 ("[media] V4L: at91: add Atmel Image Sensor Interface (ISI) support")
    Signed-off-by: Alexandre Kroupski <alexandre.kroupski@ingenico.com>
    Reviewed-by: Eugen Hristev <eugen.hristev@microchip.com>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b5b164b79a919415122125af69925c355928c8b2
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Mon Jul 15 14:35:07 2019 +0200

    i40e: reduce stack usage in i40e_set_fc
    
    [ Upstream commit 33b165684ab70867d4545643f550a5d48d3ddc57 ]
    
    The functions i40e_aq_get_phy_abilities_resp() and i40e_set_fc() both
    have giant structure on the stack, which makes each one use stack frames
    larger than 500 bytes.
    
    As clang decides one function into the other, we get a warning for
    exceeding the frame size limit on 32-bit architectures:
    
    drivers/net/ethernet/intel/i40e/i40e_common.c:1654:23: error: stack frame size of 1116 bytes in function 'i40e_set_fc' [-Werror,-Wframe-larger-than=]
    
    When building with gcc, the inlining does not happen, but i40e_set_fc()
    calls i40e_aq_get_phy_abilities_resp() anyway, so they add up on the
    kernel stack just as much.
    
    The parts that actually use large stacks don't overlap, so make sure
    each one is a separate function, and mark them as noinline_for_stack to
    prevent the compilers from combining them again.
    
    Fixes: 0a862b43acc6 ("i40e/i40evf: Add module_types and update_link_info")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit be6050f7e4803d7cd872ddf59e4d3869aca45c36
Author: Felix Fietkau <nbd@nbd.name>
Date:   Tue Aug 20 11:54:46 2019 +0200

    mac80211: minstrel_ht: fix per-group max throughput rate initialization
    
    [ Upstream commit 56dd918ff06e3ee24d8067e93ed12b2a39e71394 ]
    
    The group number needs to be multiplied by the number of rates per group
    to get the full rate index
    
    Fixes: 5935839ad735 ("mac80211: improve minstrel_ht rate sorting by throughput & probability")
    Signed-off-by: Felix Fietkau <nbd@nbd.name>
    Link: https://lore.kernel.org/r/20190820095449.45255-1-nbd@nbd.name
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ae0929cf973fada3cb8c1db00d6c752be0070cce
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Sat Aug 17 09:56:04 2019 +0300

    rtc: rv3029: revert error handling patch to rv3029_eeprom_write()
    
    [ Upstream commit a6f26606ddd03c5eab8b2132f1bfaa768c06158f ]
    
    My error handling "cleanup" was totally wrong.  Both the "err" and "ret"
    variables are required.  The "err" variable holds the error codes for
    rv3029_eeprom_enter/exit() and the "ret" variable holds the error codes
    for if actual write fails.  In my patch if the write failed, the
    function probably still returned success.
    
    Reported-by: Tom Evans <tom.evans@motec.com.au>
    Fixes: 97f5b0379c38 ("rtc: rv3029: Clean up error handling in rv3029_eeprom_write()")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Link: https://lore.kernel.org/r/20190817065604.GB29951@mwanda
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9f2d3e495d71507832894a00e5e1ee9563c41fa3
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Tue Aug 20 16:15:43 2019 +0300

    dmaengine: dw: platform: Switch to acpi_dma_controller_register()
    
    [ Upstream commit e7b8514e4d68bec21fc6385fa0a66797ddc34ac9 ]
    
    There is a possibility to have registered ACPI DMA controller
    while it has been gone already.
    
    To avoid the potential crash, move to non-managed
    acpi_dma_controller_register().
    
    Fixes: 42c91ee71d6d ("dw_dmac: add ACPI support")
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Link: https://lore.kernel.org/r/20190820131546.75744-8-andriy.shevchenko@linux.intel.com
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 711af5652daa96e9f186cc71c276303f829607db
Author: Maxime Ripard <mripard@kernel.org>
Date:   Mon Aug 19 21:25:17 2019 +0200

    ASoC: sun4i-i2s: RX and TX counter registers are swapped
    
    [ Upstream commit cf2c0e1ce9544df42170fb921f12da82dc0cc8d6 ]
    
    The RX and TX counters registers offset have been swapped, fix that.
    
    Fixes: fa7c0d13cb26 ("ASoC: sunxi: Add Allwinner A10 Digital Audio driver")
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Link: https://lore.kernel.org/r/8b26477560ad5fd8f69e037b167c5e61de5c26a3.1566242458.git-series.maxime.ripard@bootlin.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 005f7ea6242e8a450aff476fbd1340c6915f1f57
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Wed Jul 24 18:46:35 2019 +1000

    powerpc/64s/radix: Fix memory hot-unplug page table split
    
    [ Upstream commit 31f210cf42d4b308eacef89b6cb0b1459338b8de ]
    
    create_physical_mapping expects physical addresses, but splitting
    these mapping on hot unplug is supplying virtual (effective)
    addresses.
    
    Fixes: 4dd5f8a99e791 ("powerpc/mm/radix: Split linear mapping on hot-unplug")
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20190724084638.24982-2-npiggin@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6db0e28b893aa28af3f7c0197749a5d9cbfded5c
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Fri Aug 16 12:33:54 2019 -0500

    signal: Allow cifs and drbd to receive their terminating signals
    
    [ Upstream commit 33da8e7c814f77310250bb54a9db36a44c5de784 ]
    
    My recent to change to only use force_sig for a synchronous events
    wound up breaking signal reception cifs and drbd.  I had overlooked
    the fact that by default kthreads start out with all signals set to
    SIG_IGN.  So a change I thought was safe turned out to have made it
    impossible for those kernel thread to catch their signals.
    
    Reverting the work on force_sig is a bad idea because what the code
    was doing was very much a misuse of force_sig.  As the way force_sig
    ultimately allowed the signal to happen was to change the signal
    handler to SIG_DFL.  Which after the first signal will allow userspace
    to send signals to these kernel threads.  At least for
    wake_ack_receiver in drbd that does not appear actively wrong.
    
    So correct this problem by adding allow_kernel_signal that will allow
    signals whose siginfo reports they were sent by the kernel through,
    but will not allow userspace generated signals, and update cifs and
    drbd to call allow_kernel_signal in an appropriate place so that their
    thread can receive this signal.
    
    Fixing things this way ensures that userspace won't be able to send
    signals and cause problems, that it is clear which signals the
    threads are expecting to receive, and it guarantees that nothing
    else in the system will be affected.
    
    This change was partly inspired by similar cifs and drbd patches that
    added allow_signal.
    
    Reported-by: ronnie sahlberg <ronniesahlberg@gmail.com>
    Reported-by: Christoph Böhmwalder <christoph.boehmwalder@linbit.com>
    Tested-by: Christoph Böhmwalder <christoph.boehmwalder@linbit.com>
    Cc: Steve French <smfrench@gmail.com>
    Cc: Philipp Reisner <philipp.reisner@linbit.com>
    Cc: David Laight <David.Laight@ACULAB.COM>
    Fixes: 247bc9470b1e ("cifs: fix rmmod regression in cifs.ko caused by force_sig changes")
    Fixes: 72abe3bcf091 ("signal/cifs: Fix cifs_put_tcp_session to call send_sig instead of force_sig")
    Fixes: fee109901f39 ("signal/drbd: Use send_sig not force_sig")
    Fixes: 3cf5d076fb4d ("signal: Remove task parameter from force_sig")
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9b259f1ed0489e23d33868437666140d48f561c4
Author: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Date:   Sat Aug 17 17:04:49 2019 -0400

    bnxt_en: Fix handling FRAG_ERR when NVM_INSTALL_UPDATE cmd fails
    
    [ Upstream commit dd2ebf3404c7c295014bc025dea23960960ceb1a ]
    
    If FW returns FRAG_ERR in response error code, driver is resending the
    command only when HWRM command returns success. Fix the code to resend
    NVM_INSTALL_UPDATE command with DEFRAG install flags, if FW returns
    FRAG_ERR in its response error code.
    
    Fixes: cb4d1d626145 ("bnxt_en: Retry failed NVM_INSTALL_UPDATE with defragmentation flag enabled.")
    Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c636fdf43c3b5b9120778205672e596af7288ef1
Author: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
Date:   Fri Aug 2 08:34:05 2019 +0100

    drm: rcar-du: lvds: Fix bridge_to_rcar_lvds
    
    [ Upstream commit 0b936e6122738f4cf474d1f3ff636cba0edc8b94 ]
    
    Using name "bridge" for macro bridge_to_rcar_lvds argument doesn't
    work when the pointer name used by the caller is not "bridge".
    Rename the argument to "b" to allow for any pointer name.
    
    While at it, fix the connector_to_rcar_lvds macro similarly.
    
    Fixes: c6a27fa41fab ("drm: rcar-du: Convert LVDS encoder code to bridge driver")
    Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    [Fix connector_to_rcar_lvds]
    Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5fab87c26f0ad25a2a3a5a0d2cf648c283e166f1
Author: Quentin Monnet <quentin.monnet@netronome.com>
Date:   Thu Aug 15 15:32:16 2019 +0100

    tools: bpftool: fix format strings and arguments for jsonw_printf()
    
    [ Upstream commit 22c349e8db89df86804d3ba23cef037ccd44a8bf ]
    
    There are some mismatches between format strings and arguments passed to
    jsonw_printf() in the BTF dumper for bpftool, which seems harmless but
    may result in warnings if the "__printf()" attribute is used correctly
    for jsonw_printf(). Let's fix relevant format strings and type cast.
    
    Fixes: b12d6ec09730 ("bpf: btf: add btf print functionality")
    Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com>
    Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7268743209f7d1aae395313750bff96276e769ff
Author: Quentin Monnet <quentin.monnet@netronome.com>
Date:   Thu Aug 15 15:32:15 2019 +0100

    tools: bpftool: fix arguments for p_err() in do_event_pipe()
    
    [ Upstream commit 9def249dc8409ffc1f5a1d7195f1c462f2b49c07 ]
    
    The last argument passed to some calls to the p_err() functions is not
    correct, it should be "*argv" instead of "**argv". This may lead to a
    segmentation fault error if CPU IDs or indices from the command line
    cannot be parsed correctly. Let's fix this.
    
    Fixes: f412eed9dfde ("tools: bpftool: add simple perf event output reader")
    Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com>
    Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9695c9b53fec116dc88aed7ae24f95f1c3152c38
Author: Gerd Rausch <gerd.rausch@oracle.com>
Date:   Thu Jul 11 12:15:50 2019 -0700

    net/rds: Add a few missing rds_stat_names entries
    
    [ Upstream commit 55c70ca00c982fbc0df4c4d3e31747fb73f4ddb5 ]
    
    In a previous commit, fields were added to "struct rds_statistics"
    but array "rds_stat_names" was not updated accordingly.
    
    Please note the inconsistent naming of the string representations
    that is done in the name of compatibility
    with the Oracle internal code-base.
    
    s_recv_bytes_added_to_socket     -> "recv_bytes_added_to_sock"
    s_recv_bytes_removed_from_socket -> "recv_bytes_freed_fromsock"
    
    Fixes: 192a798f5299 ("RDS: add stat for socket recv memory usage")
    Signed-off-by: Gerd Rausch <gerd.rausch@oracle.com>
    Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9f14acadf13bf945521681caf295c0e3d0e2523c
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Thu Aug 15 17:19:20 2019 +0800

    ASoC: wm8737: Fix copy-paste error in wm8737_snd_controls
    
    [ Upstream commit 554b75bde64bcad9662530726d1483f7ef012069 ]
    
    sound/soc/codecs/wm8737.c:112:29: warning:
     high_3d defined but not used [-Wunused-const-variable=]
    
    'high_3d' should be used for 3D High Cut-off.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Fixes: 2a9ae13a2641 ("ASoC: Add initial WM8737 driver")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20190815091920.64480-1-yuehaibing@huawei.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5e314b1a20b784aa5d4743ee7cf9f248f97aa71d
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Thu Aug 15 17:01:57 2019 +0800

    ASoC: cs4349: Use PM ops 'cs4349_runtime_pm'
    
    [ Upstream commit 9b4275c415acca6264a3d7f1182589959c93d530 ]
    
    sound/soc/codecs/cs4349.c:358:32: warning:
     cs4349_runtime_pm defined but not used [-Wunused-const-variable=]
    
    cs4349_runtime_pm ops already defined, it seems
    we should enable it.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Fixes: e40da86 ("ASoC: cs4349: Add support for Cirrus Logic CS4349")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Link: https://lore.kernel.org/r/20190815090157.70036-1-yuehaibing@huawei.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c0a20bc1e6c1dfafda548b3719edf0f352d47eac
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Thu Aug 15 17:23:00 2019 +0800

    ASoC: es8328: Fix copy-paste error in es8328_right_line_controls
    
    [ Upstream commit 630742c296341a8cfe00dfd941392025ba8dd4e8 ]
    
    It seems 'es8328_rline_enum' should be used
    in es8328_right_line_controls
    
    Fixes: 567e4f98922c ("ASoC: add es8328 codec driver")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Link: https://lore.kernel.org/r/20190815092300.68712-1-yuehaibing@huawei.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e462ddc37eb11a2ac6345b41bbf803746c8f224b
Author: Xi Wang <wangxi11@huawei.com>
Date:   Fri Aug 9 17:41:03 2019 +0800

    RDMA/hns: bugfix for slab-out-of-bounds when loading hip08 driver
    
    [ Upstream commit bf8c02f961c89e5ccae5987b7ab28f5592a35101 ]
    
    kasan will report a BUG when run command 'insmod hns_roce_hw_v2.ko', the
    calltrace is as follows:
    
    ==================================================================
    BUG: KASAN: slab-out-of-bounds in hns_roce_v2_init_eq_table+0x1324/0x1948
    [hns_roce_hw_v2]
    Read of size 8 at addr ffff8020e7a10608 by task insmod/256
    
    CPU: 0 PID: 256 Comm: insmod Tainted: G           O      5.2.0-rc4 #1
    Hardware name: Huawei D06 /D06, BIOS Hisilicon D06 UEFI RC0
    Call trace:
    dump_backtrace+0x0/0x1e8
    show_stack+0x14/0x20
    dump_stack+0xc4/0xfc
    print_address_description+0x60/0x270
    __kasan_report+0x164/0x1b8
    kasan_report+0xc/0x18
    __asan_load8+0x84/0xa8
    hns_roce_v2_init_eq_table+0x1324/0x1948 [hns_roce_hw_v2]
    hns_roce_init+0xf8/0xfe0 [hns_roce]
    __hns_roce_hw_v2_init_instance+0x284/0x330 [hns_roce_hw_v2]
    hns_roce_hw_v2_init_instance+0xd0/0x1b8 [hns_roce_hw_v2]
    hclge_init_roce_client_instance+0x180/0x310 [hclge]
    hclge_init_client_instance+0xcc/0x508 [hclge]
    hnae3_init_client_instance.part.3+0x3c/0x80 [hnae3]
    hnae3_register_client+0x134/0x1a8 [hnae3]
    hns_roce_hw_v2_init+0x14/0x10000 [hns_roce_hw_v2]
    do_one_initcall+0x9c/0x3e0
    do_init_module+0xd4/0x2d8
    load_module+0x3284/0x3690
    __se_sys_init_module+0x274/0x308
    __arm64_sys_init_module+0x40/0x50
    el0_svc_handler+0xbc/0x210
    el0_svc+0x8/0xc
    
    Allocated by task 256:
    __kasan_kmalloc.isra.0+0xd0/0x180
    kasan_kmalloc+0xc/0x18
    __kmalloc+0x16c/0x328
    hns_roce_v2_init_eq_table+0x764/0x1948 [hns_roce_hw_v2]
    hns_roce_init+0xf8/0xfe0 [hns_roce]
    __hns_roce_hw_v2_init_instance+0x284/0x330 [hns_roce_hw_v2]
    hns_roce_hw_v2_init_instance+0xd0/0x1b8 [hns_roce_hw_v2]
    hclge_init_roce_client_instance+0x180/0x310 [hclge]
    hclge_init_client_instance+0xcc/0x508 [hclge]
    hnae3_init_client_instance.part.3+0x3c/0x80 [hnae3]
    hnae3_register_client+0x134/0x1a8 [hnae3]
    hns_roce_hw_v2_init+0x14/0x10000 [hns_roce_hw_v2]
    do_one_initcall+0x9c/0x3e0
    do_init_module+0xd4/0x2d8
    load_module+0x3284/0x3690
    __se_sys_init_module+0x274/0x308
    __arm64_sys_init_module+0x40/0x50
    el0_svc_handler+0xbc/0x210
    el0_svc+0x8/0xc
    
    Freed by task 0:
    (stack is not available)
    
    The buggy address belongs to the object at ffff8020e7a10600
    which belongs to the cache kmalloc-128 of size 128
    The buggy address is located 8 bytes inside of
    128-byte region [ffff8020e7a10600, ffff8020e7a10680)
    The buggy address belongs to the page:
    page:ffff7fe00839e840 refcount:1 mapcount:0 mapping:ffff802340020200 index:0x0
    flags: 0x5fffe00000000200(slab)
    raw: 5fffe00000000200 dead000000000100 dead000000000200 ffff802340020200
    raw: 0000000000000000 0000000081000100 00000001ffffffff 0000000000000000
    page dumped because: kasan: bad access detected
    
    Memory state around the buggy address:
    ffff8020e7a10500: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc
    ffff8020e7a10580: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    >ffff8020e7a10600: 00 fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    ^
    ffff8020e7a10680: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    ffff8020e7a10700: 00 fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    ==================================================================
    Disabling lock debugging due to kernel taint
    
    Fixes: a5073d6054f7 ("RDMA/hns: Add eq support of hip08")
    
    Signed-off-by: Xi Wang <wangxi11@huawei.com>
    Link: https://lore.kernel.org/r/1565343666-73193-7-git-send-email-oulijun@huawei.com
    Signed-off-by: Doug Ledford <dledford@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ca36d9d8e8bf8b98247f3336856fbf27fc165649
Author: Xi Wang <wangxi11@huawei.com>
Date:   Fri Aug 9 17:41:02 2019 +0800

    RDMA/hns: Bugfix for slab-out-of-bounds when unloading hip08 driver
    
    [ Upstream commit 9bba3f0cbfc8abf2e1549ea03c0128186081d7a8 ]
    
    kasan will report a BUG when run command 'rmmod hns_roce_hw_v2', the calltrace
    is as follows:
    
    ==================================================================
    BUG: KASAN: slab-out-of-bounds in hns_roce_table_mhop_put+0x584/0x828
    [hns_roce]
    Read of size 8 at addr ffff802185e08300 by task rmmod/270
    
    Call trace:
    dump_backtrace+0x0/0x1e8
    show_stack+0x14/0x20
    dump_stack+0xc4/0xfc
    print_address_description+0x60/0x270
    __kasan_report+0x164/0x1b8
    kasan_report+0xc/0x18
    __asan_load8+0x84/0xa8
    hns_roce_table_mhop_put+0x584/0x828 [hns_roce]
    hns_roce_table_put+0x174/0x1a0 [hns_roce]
    hns_roce_mr_free+0x124/0x210 [hns_roce]
    hns_roce_dereg_mr+0x90/0xb8 [hns_roce]
    ib_dealloc_pd_user+0x60/0xf0
    ib_mad_port_close+0x128/0x1d8
    ib_mad_remove_device+0x94/0x118
    remove_client_context+0xa0/0xe0
    disable_device+0xfc/0x1c0
    __ib_unregister_device+0x60/0xe0
    ib_unregister_device+0x24/0x38
    hns_roce_exit+0x3c/0x138 [hns_roce]
    __hns_roce_hw_v2_uninit_instance.isra.30+0x28/0x50 [hns_roce_hw_v2]
    hns_roce_hw_v2_uninit_instance+0x44/0x60 [hns_roce_hw_v2]
    hclge_uninit_client_instance+0x15c/0x238 [hclge]
    hnae3_uninit_client_instance+0x84/0xa8 [hnae3]
    hnae3_unregister_client+0x84/0x158 [hnae3]
    hns_roce_hw_v2_exit+0x14/0x20 [hns_roce_hw_v2]
    __arm64_sys_delete_module+0x20c/0x308
    el0_svc_handler+0xbc/0x210
    el0_svc+0x8/0xc
    
    Allocated by task 255:
    __kasan_kmalloc.isra.0+0xd0/0x180
    kasan_kmalloc+0xc/0x18
    __kmalloc+0x16c/0x328
    hns_roce_init_hem_table+0x20c/0x428 [hns_roce]
    hns_roce_init+0x214/0xfe0 [hns_roce]
    __hns_roce_hw_v2_init_instance+0x284/0x330 [hns_roce_hw_v2]
    hns_roce_hw_v2_init_instance+0xd0/0x1b8 [hns_roce_hw_v2]
    hclge_init_roce_client_instance+0x180/0x310 [hclge]
    hclge_init_client_instance+0xcc/0x508 [hclge]
    hnae3_init_client_instance.part.3+0x3c/0x80 [hnae3]
    hnae3_register_client+0x134/0x1a8 [hnae3]
    0xffff200009c00014
    do_one_initcall+0x9c/0x3e0
    do_init_module+0xd4/0x2d8
    load_module+0x3284/0x3690
    __se_sys_init_module+0x274/0x308
    __arm64_sys_init_module+0x40/0x50
    el0_svc_handler+0xbc/0x210
    el0_svc+0x8/0xc
    
    Freed by task 0:
    (stack is not available)
    
    The buggy address belongs to the object at ffff802185e06300
    which belongs to the cache kmalloc-8k of size 8192
    The buggy address is located 0 bytes to the right of
    8192-byte region [ffff802185e06300, ffff802185e08300)
    The buggy address belongs to the page:
    page:ffff7fe008617800 refcount:1 mapcount:0 mapping:ffff802340020e00 index:0x0
    compound_mapcount: 0
    flags: 0x5fffe00000010200(slab|head)
    raw: 5fffe00000010200 dead000000000100 dead000000000200 ffff802340020e00
    raw: 0000000000000000 00000000803e003e 00000001ffffffff 0000000000000000
    page dumped because: kasan: bad access detected
    
    Memory state around the buggy address:
    ffff802185e08200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    ffff802185e08280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    >ffff802185e08300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    ^
    ffff802185e08380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    ffff802185e08400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    ==================================================================
    Disabling lock debugging due to kernel taint
    
    Fixes: a25d13cbe816 ("RDMA/hns: Add the interfaces to support multi hop addressing for the contexts in hip08")
    
    Signed-off-by: Xi Wang <wangxi11@huawei.com>
    Link: https://lore.kernel.org/r/1565343666-73193-6-git-send-email-oulijun@huawei.com
    Signed-off-by: Doug Ledford <dledford@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1aa2fb7a04564f00d1c76a0d29e1df76108f9b46
Author: Colin Ian King <colin.king@canonical.com>
Date:   Mon Aug 12 14:29:38 2019 -0400

    ext4: set error return correctly when ext4_htree_store_dirent fails
    
    [ Upstream commit 7a14826ede1d714f0bb56de8167c0e519041eeda ]
    
    Currently when the call to ext4_htree_store_dirent fails the error return
    variable 'ret' is is not being set to the error code and variable count is
    instead, hence the error code is not being returned.  Fix this by assigning
    ret to the error return code.
    
    Addresses-Coverity: ("Unused value")
    Fixes: 8af0f0822797 ("ext4: fix readdir error in the case of inline_data+dir_index")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e21a1c26c1bc1b0913541c02b6443cd08f75aaa0
Author: Iuliana Prodan <iuliana.prodan@nxp.com>
Date:   Wed Jul 31 16:08:12 2019 +0300

    crypto: caam - free resources in case caam_rng registration failed
    
    [ Upstream commit c59a1d41672a89b5cac49db1a472ff889e35a2d2 ]
    
    Check the return value of the hardware registration for caam_rng and free
    resources in case of failure.
    
    Fixes: e24f7c9e87d4 ("crypto: caam - hwrng support")
    Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
    Reviewed-by: Horia Geanta <horia.geanta@nxp.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 88f089d7f55a0f6d83c0a9032f4069089a73b48e
Author: Chuhong Yuan <hslester96@gmail.com>
Date:   Tue Aug 6 10:58:46 2019 +0800

    cxgb4: smt: Add lock for atomic_dec_and_test
    
    [ Upstream commit 4a8937b83892cb69524291cae6cdabad4a8be033 ]
    
    The atomic_dec_and_test() is not safe because it is
    outside of locks.
    Move the locks of t4_smte_free() to its caller,
    cxgb4_smt_release() to protect the atomic decrement.
    
    Fixes: 3bdb376e6944 ("cxgb4: introduce SMT ops to prepare for SMAC rewrite support")
    Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 000512642ed96793393a6503deeb06995315b699
Author: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com>
Date:   Tue Aug 6 15:37:50 2019 +0530

    spi: bcm-qspi: Fix BSPI QUAD and DUAL mode support when using flex mode
    
    [ Upstream commit 79629d0f7ce5b38515c1716911a0181f01b91102 ]
    
    Fix data transfer width settings based on DT field 'spi-rx-bus-width'
    to configure BSPI in single, dual or quad mode by using data width
    and not the command width.
    
    Fixes: 5f195ee7d830c ("spi: bcm-qspi: Implement the spi_mem interface")
    
    Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com>
    Link: https://lore.kernel.org/r/1565086070-28451-1-git-send-email-rayagonda.kokatanur@broadcom.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 50176c0d22ea2347867c6196c99b0f778f81f7be
Author: Jesper Dangaard Brouer <brouer@redhat.com>
Date:   Thu Aug 1 20:00:31 2019 +0200

    net: fix bpf_xdp_adjust_head regression for generic-XDP
    
    [ Upstream commit 065af355470519bd184019a93ac579f22b036045 ]
    
    When generic-XDP was moved to a later processing step by commit
    458bf2f224f0 ("net: core: support XDP generic on stacked devices.")
    a regression was introduced when using bpf_xdp_adjust_head.
    
    The issue is that after this commit the skb->network_header is now
    changed prior to calling generic XDP and not after. Thus, if the header
    is changed by XDP (via bpf_xdp_adjust_head), then skb->network_header
    also need to be updated again.  Fix by calling skb_reset_network_header().
    
    Fixes: 458bf2f224f0 ("net: core: support XDP generic on stacked devices.")
    Reported-by: Brandon Cazander <brandon.cazander@multapplied.net>
    Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5ba099d4df90a40ffb38df0187c5372ba0ff7660
Author: Chuhong Yuan <hslester96@gmail.com>
Date:   Thu Aug 1 15:36:05 2019 +0800

    iio: tsl2772: Use devm_add_action_or_reset for tsl2772_chip_off
    
    [ Upstream commit 338084135aeddb103624a6841972fb8588295cc6 ]
    
    Use devm_add_action_or_reset to call tsl2772_chip_off
    when the device is removed.
    This also fixes the issue that the chip is turned off
    before the device is unregistered.
    
    Not marked for stable as fairly hard to hit the bug and
    this is in the middle of a set making other cleanups
    to the driver.  Hence will probably need explicit backporting.
    
    Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
    Fixes: c06c4d793584 ("staging: iio: tsl2x7x/tsl2772: move out of staging")
    Reviewed-by: Brian Masney <masneyb@onstation.org>
    Tested-by: Brian Masney <masneyb@onstation.org>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7f6a96dd8223796ffae4dd251be3bff161a28a4b
Author: Steve French <stfrench@microsoft.com>
Date:   Tue Jul 23 22:14:29 2019 -0500

    cifs: fix rmmod regression in cifs.ko caused by force_sig changes
    
    [ Upstream commit 247bc9470b1eeefc7b58cdf2c39f2866ba651509 ]
    
    Fixes: 72abe3bcf091 ("signal/cifs: Fix cifs_put_tcp_session to call send_sig instead of force_sig")
    
    The global change from force_sig caused module unloading of cifs.ko
    to fail (since the cifsd process could not be killed, "rmmod cifs"
    now would always fail)
    
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    CC: Eric W. Biederman <ebiederm@xmission.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 153797c47a5722373d07101f31f3f55f04e79c83
Author: Mark Zhang <markz@mellanox.com>
Date:   Wed Jul 31 14:40:13 2019 +0300

    net/mlx5: Fix mlx5_ifc_query_lag_out_bits
    
    [ Upstream commit ea77388b02270b0af8dc57f668f311235ea068f0 ]
    
    Remove the "reserved_at_40" field to match the device specification.
    
    Fixes: 84df61ebc69b ("net/mlx5: Add HW interfaces used by LAG")
    Signed-off-by: Mark Zhang <markz@mellanox.com>
    Reviewed-by: Yishai Hadas <yishaih@mellanox.com>
    Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 678a79d49355d769eb9c01e1d0c7ece7dfa25f4a
Author: Fabrice Gasnier <fabrice.gasnier@st.com>
Date:   Wed Jun 19 14:29:58 2019 +0200

    ARM: dts: stm32: add missing vdda-supply to adc on stm32h743i-eval
    
    [ Upstream commit 493e84c5dc4d703d976b5875f5db22dae08a0782 ]
    
    Add missing vdda-supply required by STM32 ADC.
    
    Fixes: 090992a9ca54 ("ARM: dts: stm32: enable ADC on stm32h743i-eval
    board")
    
    Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
    Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 523834b0ac46c79b635b5a112745bee874f7393c
Author: Jon Maloy <jon.maloy@ericsson.com>
Date:   Tue Jul 30 16:23:18 2019 +0200

    tipc: reduce risk of wakeup queue starvation
    
    [ Upstream commit 7c5b42055964f587e55bd87ef334c3a27e95d144 ]
    
    In commit 365ad353c256 ("tipc: reduce risk of user starvation during
    link congestion") we allowed senders to add exactly one list of extra
    buffers to the link backlog queues during link congestion (aka
    "oversubscription"). However, the criteria for when to stop adding
    wakeup messages to the input queue when the overload abates is
    inaccurate, and may cause starvation problems during very high load.
    
    Currently, we stop adding wakeup messages after 10 total failed attempts
    where we find that there is no space left in the backlog queue for a
    certain importance level. The counter for this is accumulated across all
    levels, which may lead the algorithm to leave the loop prematurely,
    although there may still be plenty of space available at some levels.
    The result is sometimes that messages near the wakeup queue tail are not
    added to the input queue as they should be.
    
    We now introduce a more exact algorithm, where we keep adding wakeup
    messages to a level as long as the backlog queue has free slots for
    the corresponding level, and stop at the moment there are no more such
    slots or when there are no more wakeup messages to dequeue.
    
    Fixes: 365ad35 ("tipc: reduce risk of user starvation during link congestion")
    Reported-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
    Acked-by: Ying Xue <ying.xue@windriver.com>
    Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b2b4ee8161c24fc465ddace9142c665bbf36055d
Author: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Date:   Tue Jun 18 05:18:16 2019 +0900

    arm64: dts: renesas: r8a77995: Fix register range of display node
    
    [ Upstream commit 56d651e890f3befd616b6962a862f5ffa1a514fa ]
    
    Since the R8A77995 SoC uses DU{0,1}, the range from the base address to
    the 0x4000 address is used.
    This patch fixed it.
    
    Fixes: 18f1a773e3f9e6d1 ("arm64: dts: renesas: r8a77995: add DU support")
    Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 92631e33d64426139f6477acb8d3be4417b8d916
Author: Johannes Berg <johannes@sipsolutions.net>
Date:   Mon Jul 29 09:14:22 2019 +0200

    ALSA: aoa: onyx: always initialize register read value
    
    [ Upstream commit f474808acb3c4b30552d9c59b181244e0300d218 ]
    
    A lot of places in the driver use onyx_read_register() without
    checking the return value, and it's been working OK for ~10 years
    or so, so probably never fails ... Rather than trying to check the
    return value everywhere, which would be relatively intrusive, at
    least make sure we don't use an uninitialized value.
    
    Fixes: f3d9478b2ce4 ("[ALSA] snd-aoa: add snd-aoa")
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 572b6278483ed3cc33b70658930b16e0cee8366e
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Fri Jul 12 10:59:24 2019 +0200

    crypto: ccp - Reduce maximum stack usage
    
    [ Upstream commit 72c8117adfced37df101c8c0b3f363e0906f83f0 ]
    
    Each of the operations in ccp_run_cmd() needs several hundred
    bytes of kernel stack. Depending on the inlining, these may
    need separate stack slots that add up to more than the warning
    limit, as shown in this clang based build:
    
    drivers/crypto/ccp/ccp-ops.c:871:12: error: stack frame size of 1164 bytes in function 'ccp_run_aes_cmd' [-Werror,-Wframe-larger-than=]
    static int ccp_run_aes_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
    
    The problem may also happen when there is no warning, e.g. in the
    ccp_run_cmd()->ccp_run_aes_cmd()->ccp_run_aes_gcm_cmd() call chain with
    over 2000 bytes.
    
    Mark each individual function as 'noinline_for_stack' to prevent
    this from happening, and move the calls to the two special cases for aes
    into the top-level function. This will keep the actual combined stack
    usage to the mimimum: 828 bytes for ccp_run_aes_gcm_cmd() and
    at most 524 bytes for each of the other cases.
    
    Fixes: 63b945091a07 ("crypto: ccp - CCP device driver and interface support")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2f27af9f37bfea5d9b5c07033a264c92c2ecbf2f
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Mon Jul 22 20:47:06 2019 +0200

    x86/kgbd: Use NMI_VECTOR not APIC_DM_NMI
    
    [ Upstream commit 2591bc4e8d70b4e1330d327fb7e3921f4e070a51 ]
    
    apic->send_IPI_allbutself() takes a vector number as argument.
    
    APIC_DM_NMI is clearly not a vector number. It's defined to 0x400 which is
    outside the vector space.
    
    Use NMI_VECTOR instead as that's what it is intended to be.
    
    Fixes: 82da3ff89dc2 ("x86: kgdb support")
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/20190722105218.855189979@linutronix.de
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ba5cc235ea6cc536d0255e773b700c7fe5f0bedc
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Fri Jul 12 11:24:09 2019 +0200

    mic: avoid statically declaring a 'struct device'.
    
    [ Upstream commit bc83f79bd2119230888fb8574639d5a51b38f903 ]
    
    Generally, declaring a platform device as a static variable is
    a bad idea and can cause all kinds of problems, in particular
    with the DMA configuration and lifetime rules.
    
    A specific problem we hit here is from a bug in clang that warns
    about certain (otherwise valid) macros when used in static variables:
    
    drivers/misc/mic/card/mic_x100.c:285:27: warning: shift count >= width of type [-Wshift-count-overflow]
    static u64 mic_dma_mask = DMA_BIT_MASK(64);
                              ^~~~~~~~~~~~~~~~
    include/linux/dma-mapping.h:141:54: note: expanded from macro 'DMA_BIT_MASK'
     #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
                                                         ^ ~~~
    
    A slightly better way here is to create the platform device dynamically
    and set the dma mask in the probe function.
    This avoids the warning and some other problems, but is still not ideal
    because the device creation should really be separated from the driver,
    and the fact that the device has no parent means we have to force
    the dma mask rather than having it set up from the bus that the device
    is actually on.
    
    Fixes: dd8d8d44df64 ("misc: mic: MIC card driver specific changes to enable SCIF")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Link: https://lore.kernel.org/r/20190712092426.872625-1-arnd@arndb.de
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7f255ff07a5364aa09cb1a61d057a955e28a5c48
Author: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Date:   Tue Jul 2 13:42:58 2019 -0400

    media: rcar-vin: Clean up correct notifier in error path
    
    [ Upstream commit 0bd465765f8d1300040de627f0a0971a8849d654 ]
    
    The parallel input initialization error path cleans up the wrong
    async notifier, fix this by cleaning up the correct notifier.
    
    Fixes: 9863bc8695bc36e3 ("media: rcar-vin: Cleanup notifier in error path")
    Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
    Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
    Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9748f7cfdad786da4b4e49befea189ca8ed57fb7
Author: Ruslan Bilovol <ruslan.bilovol@gmail.com>
Date:   Sun Jul 7 15:17:19 2019 +0300

    usb: host: xhci-hub: fix extra endianness conversion
    
    [ Upstream commit 6269e4c76eacabaea0d0099200ae1a455768d208 ]
    
    Don't do extra cpu_to_le32 conversion for
    put_unaligned_le32 because it is already implemented
    in this function.
    
    Fixes sparse error:
    xhci-hub.c:1152:44: warning: incorrect type in argument 1 (different base types)
    xhci-hub.c:1152:44:    expected unsigned int [usertype] val
    xhci-hub.c:1152:44:    got restricted __le32 [usertype]
    
    Fixes: 395f540 "xhci: support new USB 3.1 hub request to get extended port status"
    Cc: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com>
    Link: https://lore.kernel.org/r/1562501839-26522-1-git-send-email-ruslan.bilovol@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e236476afb060d79fb8909ef9315a473cc9991cf
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Mon Jul 22 17:01:23 2019 +0200

    qed: reduce maximum stack frame size
    
    [ Upstream commit 7c116e02a4a7575c8c62bfd2106e3e3ec8fb99dc ]
    
    clang warns about an overly large stack frame in one function
    when it decides to inline all __qed_get_vport_*() functions into
    __qed_get_vport_stats():
    
    drivers/net/ethernet/qlogic/qed/qed_l2.c:1889:13: error: stack frame size of 1128 bytes in function '_qed_get_vport_stats' [-Werror,-Wframe-larger-than=]
    
    Use a noinline_for_stack annotation to prevent clang from inlining
    these, which keeps the maximum stack usage at around half of that
    in the worst case, similar to what we get with gcc.
    
    Fixes: 86622ee75312 ("qed: Move statistics to L2 code")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 81e26cee53be4ef24b8eac605291e7e3358facac
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Tue Jul 16 22:42:18 2019 +0800

    libertas_tf: Use correct channel range in lbtf_geo_init
    
    [ Upstream commit 2ec4ad49b98e4a14147d04f914717135eca7c8b1 ]
    
    It seems we should use 'range' instead of 'priv->range'
    in lbtf_geo_init(), because 'range' is the corret one
    related to current regioncode.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Fixes: 691cdb49388b ("libertas_tf: command helper functions for libertas_tf")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9311fd211ad6d9779ceae504d63ee1d810f42503
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Mon Jul 15 13:03:48 2019 +0200

    PM: sleep: Fix possible overflow in pm_system_cancel_wakeup()
    
    [ Upstream commit 2933954b71f10d392764f95eec0f0aa2d103054b ]
    
    It is not actually guaranteed that pm_abort_suspend will be
    nonzero when pm_system_cancel_wakeup() is called which may lead to
    subtle issues, so make it use atomic_dec_if_positive() instead of
    atomic_dec() for the safety sake.
    
    Fixes: 33e4f80ee69b ("ACPI / PM: Ignore spurious SCI wakeups from suspend-to-idle")
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Acked-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 07542c8a2d587106ee31920cd722b538ccbe0e31
Author: Icenowy Zheng <icenowy@aosc.io>
Date:   Sat Jul 13 11:46:28 2019 +0800

    clk: sunxi-ng: v3s: add the missing PLL_DDR1
    
    [ Upstream commit c5ed9475c22c89d5409402055142372e35d26a3f ]
    
    The user manual of V3/V3s/S3 declares a PLL_DDR1, however it's forgot
    when developing the V3s CCU driver.
    
    Add back the missing PLL_DDR1.
    
    Fixes: d0f11d14b0bc ("clk: sunxi-ng: add support for V3s CCU")
    Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e34d8d2b2e2f49d1aa933a1e5f15d3e9ee9aa54b
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Thu Jul 18 18:14:57 2019 +0200

    drm/panel: make drm_panel.h self-contained
    
    [ Upstream commit bf3f5e98559360661a3d2af340d46522512c0b00 ]
    
    Fix build warning if drm_panel.h is built with CONFIG_OF=n or
    CONFIG_DRM_PANEL=n and included without the prerequisite err.h:
    
    ./include/drm/drm_panel.h: In function ‘of_drm_find_panel’:
    ./include/drm/drm_panel.h:203:9: error: implicit declaration of function ‘ERR_PTR’ [-Werror=implicit-function-declaration]
      return ERR_PTR(-ENODEV);
             ^~~~~~~
    ./include/drm/drm_panel.h:203:9: error: returning ‘int’ from a function with return type ‘struct drm_panel *’ makes pointer from integer without a cast [-Werror=int-conversion]
      return ERR_PTR(-ENODEV);
             ^~~~~~~~~~~~~~~~
    
    Fixes: 5fa8e4a22182 ("drm/panel: Make of_drm_find_panel() return an ERR_PTR() instead of NULL")
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Acked-by: Thierry Reding <treding@nvidia.com>
    Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
    Reviewed-by: Sean Paul <sean@poorly.run>
    Cc: Boris Brezillon <bbrezillon@kernel.org>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190718161507.2047-2-sam@ravnborg.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6f8fa5c32d687b61d5c13d225c40f9b3714bdb1e
Author: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date:   Mon Jul 15 12:00:21 2019 +0200

    xfrm interface: ifname may be wrong in logs
    
    [ Upstream commit e0aaa332e6a97dae57ad59cdb19e21f83c3d081c ]
    
    The ifname is copied when the interface is created, but is never updated
    later. In fact, this property is used only in one error message, where the
    netdevice pointer is available, thus let's use it.
    
    Fixes: f203b76d7809 ("xfrm: Add virtual xfrm interfaces")
    Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
    Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8ce259e5b003c0838c12752584254e310ddf3191
Author: Colin Ian King <colin.king@canonical.com>
Date:   Tue Jul 2 10:18:35 2019 +0100

    scsi: libfc: fix null pointer dereference on a null lport
    
    [ Upstream commit 41a6bf6529edd10a6def42e3b2c34a7474bcc2f5 ]
    
    Currently if lport is null then the null lport pointer is dereference when
    printing out debug via the FC_LPORT_DB macro. Fix this by using the more
    generic FC_LIBFC_DBG debug macro instead that does not use lport.
    
    Addresses-Coverity: ("Dereference after null check")
    Fixes: 7414705ea4ae ("libfc: Add runtime debugging with debug_logging module parameter")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Reviewed-by: Hannes Reinecke <hare@suse.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c55caa2bdf7f1c101faeb66c2d6bcda99dca03eb
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Wed Jul 10 14:13:20 2019 +0900

    ARM: stm32: use "depends on" instead of "if" after prompt
    
    [ Upstream commit 7e8a0f10899075ac2665c78c4e49dbaf32bf3346 ]
    
    This appeared after the global fixups by commit e32465429490 ("ARM: use
    "depends on" for SoC configs instead of "if" after prompt"). Fix it now.
    
    Link: https://lore.kernel.org/r/20190710051320.8738-1-yamada.masahiro@socionext.com
    Fixes: e32465429490 ("ARM: use "depends on" for SoC configs instead of "if" after prompt")
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Signed-off-by: Olof Johansson <olof@lixom.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fca3e8283f359a8835dd3b981a993f41dad9ed35
Author: Ilya Maximets <i.maximets@samsung.com>
Date:   Thu Jul 4 17:25:03 2019 +0300

    xdp: fix possible cq entry leak
    
    [ Upstream commit 675716400da6f15b9d3db04ef74ee74ca9a00af3 ]
    
    Completion queue address reservation could not be undone.
    In case of bad 'queue_id' or skb allocation failure, reserved entry
    will be leaked reducing the total capacity of completion queue.
    
    Fix that by moving reservation to the point where failure is not
    possible. Additionally, 'queue_id' checking moved out from the loop
    since there is no point to check it there.
    
    Fixes: 35fcde7f8deb ("xsk: support for Tx")
    Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
    Acked-by: Björn Töpel <bjorn.topel@intel.com>
    Tested-by: William Tu <u9012063@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d5fe594a48b7530f79fae9c7e2b2ff4786c2a46c
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Wed Jul 10 15:04:55 2019 +0200

    x86/pgtable/32: Fix LOWMEM_PAGES constant
    
    [ Upstream commit 26515699863d68058e290e18e83f444925920be5 ]
    
    clang points out that the computation of LOWMEM_PAGES causes a signed
    integer overflow on 32-bit x86:
    
    arch/x86/kernel/head32.c:83:20: error: signed shift result (0x100000000) requires 34 bits to represent, but 'int' only has 32 bits [-Werror,-Wshift-overflow]
                    (PAGE_TABLE_SIZE(LOWMEM_PAGES) << PAGE_SHIFT);
                                     ^~~~~~~~~~~~
    arch/x86/include/asm/pgtable_32.h:109:27: note: expanded from macro 'LOWMEM_PAGES'
     #define LOWMEM_PAGES ((((2<<31) - __PAGE_OFFSET) >> PAGE_SHIFT))
                             ~^ ~~
    arch/x86/include/asm/pgtable_32.h:98:34: note: expanded from macro 'PAGE_TABLE_SIZE'
     #define PAGE_TABLE_SIZE(pages) ((pages) / PTRS_PER_PGD)
    
    Use the _ULL() macro to make it a 64-bit constant.
    
    Fixes: 1e620f9b23e5 ("x86/boot/32: Convert the 32-bit pgtable setup code from assembly to C")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lkml.kernel.org/r/20190710130522.1802800-1-arnd@arndb.de
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit eb6e02ed98e8981e20e68c09c7b94439f5571d6b
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Mon Jul 8 19:53:18 2019 -0700

    net/tls: fix socket wmem accounting on fallback with netem
    
    [ Upstream commit 5c4b4608fe100838c62591877101128467e56c00 ]
    
    netem runs skb_orphan_partial() which "disconnects" the skb
    from normal TCP write memory accounting.  We should not adjust
    sk->sk_wmem_alloc on the fallback path for such skbs.
    
    Fixes: e8f69799810c ("net/tls: Add generic NIC offload infrastructure")
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f9153eed0feb756d72f8749fc55ce44543a7b81d
Author: Wen Yang <wen.yang99@zte.com.cn>
Date:   Sat Jul 6 12:23:41 2019 +0800

    net: pasemi: fix an use-after-free in pasemi_mac_phy_init()
    
    [ Upstream commit faf5577f2498cea23011b5c785ef853ded22700b ]
    
    The phy_dn variable is still being used in of_phy_connect() after the
    of_node_put() call, which may result in use-after-free.
    
    Fixes: 1dd2d06c0459 ("net: Rework pasemi_mac driver to use of_mdio infrastructure")
    Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Luis Chamberlain <mcgrof@kernel.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: netdev@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f053b46728cc3354a1c83ed4989b39efa53c5a7d
Author: David Disseldorp <ddiss@suse.de>
Date:   Wed May 15 16:56:39 2019 +0200

    ceph: fix "ceph.dir.rctime" vxattr value
    
    [ Upstream commit 718807289d4130be1fe13f24f018733116958070 ]
    
    The vxattr value incorrectly places a "09" prefix to the nanoseconds
    field, instead of providing it as a zero-pad width specifier after '%'.
    
    Fixes: 3489b42a72a4 ("ceph: fix three bugs, two in ceph_vxattrcb_file_layout()")
    Link: https://tracker.ceph.com/issues/39943
    Signed-off-by: David Disseldorp <ddiss@suse.de>
    Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cdf4c2162548e6e0356c6a81e49f6e831eb4007e
Author: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Date:   Fri Jul 5 17:56:47 2019 +0800

    PCI: mobiveil: Fix the valid check for inbound and outbound windows
    
    [ Upstream commit ccd34dac2ed596b1f26079912bdf638e002a3979 ]
    
    In program_ib/ob_windows() check the window index from the function
    parameter instead of the total number of initialized windows to
    determine if the specified window is valid.
    
    Fixes: 9af6bcb11e12 ("PCI: mobiveil: Add Mobiveil PCIe Host Bridge IP driver")
    Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: Minghuan Lian <Minghuan.Lian@nxp.com>
    Reviewed-by: Subrahmanya Lingappa <l.subrahmanya@mobiveil.co.in>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 27df2bc894f62da1644e0770ad62822357b62936
Author: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Date:   Fri Jul 5 17:56:39 2019 +0800

    PCI: mobiveil: Fix devfn check in mobiveil_pcie_valid_device()
    
    [ Upstream commit cbd50b3ca3964c79dac65fda277637577e029e8c ]
    
    Current check for devfn number in mobiveil_pci_valid_device() is
    wrong in that it flags as invalid functions present in PCI device 0
    in the root bus while it is perfectly valid to access all functions
    in PCI device 0 in the root bus.
    
    Update the check in mobiveil_pci_valid_device() to fix the issue.
    
    Fixes: 9af6bcb11e12 ("PCI: mobiveil: Add Mobiveil PCIe Host Bridge IP driver")
    Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: Minghuan Lian <Minghuan.Lian@nxp.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1ca599a6cda5ce250206fc72d7fcb28b8b10dc40
Author: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Date:   Fri Jul 5 17:56:30 2019 +0800

    PCI: mobiveil: Remove the flag MSI_FLAG_MULTI_PCI_MSI
    
    [ Upstream commit a131fb6364c1be0924dcb969ecf6b988c556a5d5 ]
    
    The Mobiveil internal MSI controller requires separate target addresses,
    one per MSI vector; this is clearly incompatible with the Multiple MSI
    feature, which requires the same target address for all vectors
    requested by an endpoint (ie the Message Address field in the MSI
    Capability structure), so the multi MSI feature is clearly not
    supported by the host controller driver.
    
    Remove the flag MSI_FLAG_MULTI_PCI_MSI and with it multi MSI support,
    fixing the misconfiguration.
    
    Fixes: 1e913e58335f ("PCI: mobiveil: Add MSI support")
    Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
    [lorenzo.pieralisi@arm.com: commit log]
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: Minghuan Lian <Minghuan.Lian@nxp.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 98ffd22bd14b3642bc44daa48aa758120af04812
Author: Xi Wang <wangxi11@huawei.com>
Date:   Mon Jun 24 19:47:51 2019 +0800

    RDMA/hns: Fixs hw access invalid dma memory error
    
    [ Upstream commit ec5bc2cc69b4fc494e04d10fc5226f6f9cf67c56 ]
    
    When smmu is enable, if execute the perftest command and then use 'kill
    -9' to exit, follow this operation repeatedly, the kernel will have a high
    probability to print the following smmu event:
    
      arm-smmu-v3 arm-smmu-v3.1.auto: event 0x10 received:
      arm-smmu-v3 arm-smmu-v3.1.auto:  0x00007d0000000010
      arm-smmu-v3 arm-smmu-v3.1.auto:  0x0000020900000080
      arm-smmu-v3 arm-smmu-v3.1.auto:  0x00000000f47cf000
      arm-smmu-v3 arm-smmu-v3.1.auto:  0x00000000f47cf000
    
    This is because the hw will periodically refresh the qpc cache until the
    next reset.
    
    This patch fixed it by removing the action that release qpc memory in the
    'hns_roce_qp_free' function.
    
    Fixes: 9a4435375cd1 ("IB/hns: Add driver files for hns RoCE driver")
    Signed-off-by: Xi Wang <wangxi11@huawei.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8729bb314f9fe29ae7dac6ea6b3e304810ab48ad
Author: Eddie James <eajames@linux.ibm.com>
Date:   Wed Jun 26 13:56:55 2019 -0500

    fsi: sbefifo: Don't fail operations when in SBE IPL state
    
    [ Upstream commit 7ce98fb6c53d2311b3e9faae90b1a9c1a96534db ]
    
    SBE fifo operations should be allowed while the SBE is in any of the
    "IPL" states. Operations should succeed in this state.
    
    Fixes: 9f4a8a2d7f9d fsi/sbefifo: Add driver for the SBE FIFO
    Reviewed-by: Joel Stanley <joel@jms.id.au>
    Tested-by: Alistair Popple <alistair@popple.id.au>
    Signed-off-by: Eddie James <eajames@linux.ibm.com>
    Link: https://lore.kernel.org/r/1561575415-3282-1-git-send-email-eajames@linux.ibm.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0fea8f5ee0193f523428cb05d9fa9d0084213d4c
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Fri Jun 28 16:59:45 2019 +0200

    devres: allow const resource arguments
    
    [ Upstream commit 9dea44c91469512d346e638694c22c30a5273992 ]
    
    devm_ioremap_resource() does not currently take 'const' arguments,
    which results in a warning from the first driver trying to do it
    anyway:
    
    drivers/gpio/gpio-amd-fch.c: In function 'amd_fch_gpio_probe':
    drivers/gpio/gpio-amd-fch.c:171:49: error: passing argument 2 of 'devm_ioremap_resource' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
      priv->base = devm_ioremap_resource(&pdev->dev, &amd_fch_gpio_iores);
                                                     ^~~~~~~~~~~~~~~~~~~
    
    Change the prototype to allow it, as there is no real reason not to.
    
    Fixes: 9bb2e0452508 ("gpio: amd: Make resource struct const")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Link: https://lore.kernel.org/r/20190628150049.1108048-1-arnd@arndb.de
    Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Reviwed-By: Enrico Weigelt <info@metux.net>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 67a358b01e2edfd824360e8c366b819f0756f79d
Author: Jeremy Kerr <jk@ozlabs.org>
Date:   Fri Jun 28 16:07:37 2019 +0800

    fsi/core: Fix error paths on CFAM init
    
    [ Upstream commit 371975b0b07520c85098652d561639837a60a905 ]
    
    Change d1dcd67825 re-worked the struct fsi_slave initialisation in
    fsi_slave_init, but introduced a few inconsitencies: the slave->dev is
    now registered through cdev_device_add, but we may kfree() the device
    out from underneath the cdev registration. We may also leave an IDA
    allocated.
    
    This change fixes the error paths, so that we kfree() only before the
    device is registered with the core code. We also move the smode write to
    before we start creating proper devices, as it's the most likely to
    fail. We also remove the IDA-allocated minor on error, and properly
    clean up the of_node.
    
    Fixes: d1dcd6782576 ("fsi: Add cfam char devices")
    Reported-by: Lei YU <mine260309@gmail.com>
    Tested-by: John Wang <wangzqbj@inspur.com>
    Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
    Signed-off-by: Joel Stanley <joel@jms.id.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1b7081bff268184c82cb811be1cacb9d82dac7a3
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Mon Jul 1 12:54:29 2019 +0200

    ACPI: PM: Introduce "poweroff" callbacks for ACPI PM domain and LPSS
    
    [ Upstream commit c95b7595f85c688d5c569ddbbd6ab6a4bdae2f36 ]
    
    In general, it is not correct to call pm_generic_suspend(),
    pm_generic_suspend_late() and pm_generic_suspend_noirq() during the
    hibernation's "poweroff" transition, because device drivers may
    provide special callbacks to be invoked then and the wrappers in
    question cause system suspend callbacks to be run.  Unfortunately,
    that happens in the ACPI PM domain and ACPI LPSS.
    
    To address this potential issue, introduce "poweroff" callbacks
    for the ACPI PM and LPSS that will use pm_generic_poweroff(),
    pm_generic_poweroff_late() and pm_generic_poweroff_noirq() as
    appropriate.
    
    Fixes: 05087360fd7a (ACPI / PM: Take SMART_SUSPEND driver flag into account)
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 998d759eaf65887d0bd40e43facc68ecdf4304b8
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Mon Jul 1 12:54:10 2019 +0200

    ACPI: PM: Simplify and fix PM domain hibernation callbacks
    
    [ Upstream commit 3cd7957e85e67120bb9f6bfb75d81dcc19af282b ]
    
    First, after a previous change causing all runtime-suspended devices
    in the ACPI PM domain (and ACPI LPSS devices) to be resumed before
    creating a snapshot image of memory during hibernation, it is not
    necessary to worry about the case in which them might be left in
    runtime-suspend any more, so get rid of the code related to that from
    ACPI PM domain and ACPI LPSS hibernation callbacks.
    
    Second, it is not correct to use pm_generic_resume_early() and
    acpi_subsys_resume_noirq() in hibernation "restore" callbacks (which
    currently happens in the ACPI PM domain and ACPI LPSS), so introduce
    proper _restore_late and _restore_noirq callbacks for the ACPI PM
    domain and ACPI LPSS.
    
    Fixes: 05087360fd7a (ACPI / PM: Take SMART_SUSPEND driver flag into account)
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bad2aed1059890b1bdedbd776142651e9ecd7ba0
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Mon Jul 1 12:44:25 2019 +0200

    PM: ACPI/PCI: Resume all devices during hibernation
    
    [ Upstream commit 501debd4aa5edc755037c39ea5a8fba23b41e580 ]
    
    Both the PCI bus type and the ACPI PM domain avoid resuming
    runtime-suspended devices with DPM_FLAG_SMART_SUSPEND set during
    hibernation (before creating the snapshot image of system memory),
    but that turns out to be a mistake.  It leads to functional issues
    and adds complexity that's hard to justify.
    
    For this reason, resume all runtime-suspended PCI devices and all
    devices in the ACPI PM domains before creating a snapshot image of
    system memory during hibernation.
    
    Fixes: 05087360fd7a (ACPI / PM: Take SMART_SUSPEND driver flag into account)
    Fixes: c4b65157aeef (PCI / PM: Take SMART_SUSPEND driver flag into account)
    Link: https://lore.kernel.org/linux-acpi/917d4399-2e22-67b1-9d54-808561f9083f@uwyo.edu/T/#maf065fe6e4974f2a9d79f332ab99dfaba635f64c
    Reported-by: Robert R. Howell <RHowell@uwyo.edu>
    Tested-by: Robert R. Howell <RHowell@uwyo.edu>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d329e071ed6c34079aa9122d2845de235ed3ffdd
Author: Jouni Malinen <j@w1.fi>
Date:   Mon May 6 14:39:35 2019 +0200

    um: Fix IRQ controller regression on console read
    
    [ Upstream commit bebe4681d0e7e1be2608282dc86645728bc7f623 ]
    
    The conversion of UML to use epoll based IRQ controller claimed that
    clone_one_chan() can safely call um_free_irq() while starting to ignore
    the delay_free_irq parameter that explicitly noted that the IRQ cannot
    be freed because this is being called from chan_interrupt(). This
    resulted in free_irq() getting called in interrupt context ("Trying to
    free IRQ 6 from IRQ context!").
    
    Fix this by restoring previously used delay_free_irq processing.
    
    Fixes: ff6a17989c08 ("Epoll based IRQ controller")
    Signed-off-by: Jouni Malinen <j@w1.fi>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e793ac763ca225efa674d81215057501c88af347
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Jun 19 10:32:38 2019 -0400

    xprtrdma: Fix use-after-free in rpcrdma_post_recvs
    
    [ Upstream commit 2d0abe36cf13fb7b577949fd1539326adddcc9bc ]
    
    Dereference wr->next /before/ the memory backing wr has been
    released. This issue was found by code inspection. It is not
    expected to be a significant problem because it is in an error
    path that is almost never executed.
    
    Fixes: 7c8d9e7c8863 ("xprtrdma: Move Receive posting to ... ")
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 499cc1428e5f569ded49f5858fbbdd6cc70c9b4a
Author: David Howells <dhowells@redhat.com>
Date:   Tue Jul 2 15:55:28 2019 +0100

    rxrpc: Fix uninitialized error code in rxrpc_send_data_packet()
    
    [ Upstream commit 3427beb6375d04e9627c67343872e79341a684ea ]
    
    With gcc 4.1:
    
        net/rxrpc/output.c: In function ‘rxrpc_send_data_packet’:
        net/rxrpc/output.c:338: warning: ‘ret’ may be used uninitialized in this function
    
    Indeed, if the first jump to the send_fragmentable label is made, and
    the address family is not handled in the switch() statement, ret will be
    used uninitialized.
    
    Fix this by BUG()'ing as is done in other places in rxrpc where internal
    support for future address families will need adding.  It should not be
    possible to reach this normally as the address families are checked
    up-front.
    
    Fixes: 5a924b8951f835b5 ("rxrpc: Don't store the rxrpc header in the Tx queue sk_buffs")
    Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit dbed2be0d3c0ed5d575098b342788e66846c8847
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Fri Jun 21 15:56:31 2019 +0300

    mfd: intel-lpss: Release IDA resources
    
    [ Upstream commit 02f36911c1b41fcd8779fa0c135aab0554333fa5 ]
    
    ida instances allocate some internal memory for ->free_bitmap
    in addition to the base 'struct ida'. Use ida_destroy() to release
    that memory at module_exit().
    
    Fixes: 4b45efe85263 ("mfd: Add support for Intel Sunrisepoint LPSS devices")
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 511d8decd182f6c3b2de08d6ef176db1e675c004
Author: Kevin Mitchell <kevmitch@arista.com>
Date:   Wed Jun 12 14:52:03 2019 -0700

    iommu/amd: Make iommu_disable safer
    
    [ Upstream commit 3ddbe913e55516d3e2165d43d4d5570761769878 ]
    
    Make it safe to call iommu_disable during early init error conditions
    before mmio_base is set, but after the struct amd_iommu has been added
    to the amd_iommu_list. For example, this happens if firmware fails to
    fill in mmio_phys in the ACPI table leading to a NULL pointer
    dereference in iommu_feature_disable.
    
    Fixes: 2c0ae1720c09c ('iommu/amd: Convert iommu initialization to state machine')
    Signed-off-by: Kevin Mitchell <kevmitch@arista.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 959c90f32bf16ab06290d4e08caa1b559d03dc3c
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Sat Jun 29 11:16:48 2019 -0400

    bnxt_en: Suppress error messages when querying DSCP DCB capabilities.
    
    [ Upstream commit 4ca5fa39e1aea2f85eb9c4257075c4077c6531da ]
    
    Some firmware versions do not support this so use the silent variant
    to send the message to firmware to suppress the harmless error.  This
    error message is unnecessarily alarming the user.
    
    Fixes: afdc8a84844a ("bnxt_en: Add DCBNL DSCP application protocol support.")
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f542dad28eddd9fdb510f0c0d5d389c229b908e4
Author: Michael Chan <michael.chan@broadcom.com>
Date:   Sat Jun 29 11:16:45 2019 -0400

    bnxt_en: Fix ethtool selftest crash under error conditions.
    
    [ Upstream commit d27e2ca1166aefd54d9c48fb6647dee8115a5dfc ]
    
    After ethtool loopback packet tests, we re-open the nic for the next
    IRQ test.  If the open fails, we must not proceed with the IRQ test
    or we will crash with NULL pointer dereference.  Fix it by checking
    the bnxt_open_nic() return code before proceeding.
    
    Reported-by: Somasundaram Krishnasamy <somasundaram.krishnasamy@oracle.com>
    Fixes: 67fea463fd87 ("bnxt_en: Add interrupt test to ethtool -t selftest.")
    Signed-off-by: Michael Chan <michael.chan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fde68698dde71ee5bf209e9931ee3188861d3b3a
Author: Andrea Arcangeli <aarcange@redhat.com>
Date:   Fri Jun 28 12:07:14 2019 -0700

    fork,memcg: alloc_thread_stack_node needs to set tsk->stack
    
    [ Upstream commit 1bf4580e00a248a2c86269125390eb3648e1877c ]
    
    Commit 5eed6f1dff87 ("fork,memcg: fix crash in free_thread_stack on
    memcg charge fail") corrected two instances, but there was a third
    instance of this bug.
    
    Without setting tsk->stack, if memcg_charge_kernel_stack fails, it'll
    execute free_thread_stack() on a dangling pointer.
    
    Enterprise kernels are compiled with VMAP_STACK=y so this isn't
    critical, but custom VMAP_STACK=n builds should have some performance
    advantage, with the drawback of risking to fail fork because compaction
    didn't succeed.  So as long as VMAP_STACK=n is a supported option it's
    worth fixing it upstream.
    
    Link: http://lkml.kernel.org/r/20190619011450.28048-1-aarcange@redhat.com
    Fixes: 9b6f7e163cd0 ("mm: rework memcg kernel stack accounting")
    Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
    Reviewed-by: Rik van Riel <riel@surriel.com>
    Acked-by: Roman Gushchin <guro@fb.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5105593b6e56c799eb7b6699251c41bebe8d816c
Author: Matthias Kaehlcke <mka@chromium.org>
Date:   Wed Jun 12 11:00:03 2019 -0700

    backlight: pwm_bl: Fix heuristic to determine number of brightness levels
    
    [ Upstream commit 73fbfc499448455f1e1c77717040e09e25f1d976 ]
    
    With commit 88ba95bedb79 ("backlight: pwm_bl: Compute brightness of
    LED linearly to human eye") the number of set bits (aka hweight())
    in the PWM period is used in the heuristic to determine the number
    of brightness levels, when the brightness table isn't specified in
    the DT. The number of set bits doesn't provide a reliable clue about
    the length of the period, instead change the heuristic to:
    
     nlevels = period / fls(period)
    
    Also limit the maximum number of brightness levels to 4096 to avoid
    excessively large tables.
    
    With this the number of levels increases monotonically with the PWM
    period, until the maximum of 4096 levels is reached:
    
    period (ns)    # levels
    
    100            16
    500            62
    1000           111
    5000           416
    10000          769
    50000          3333
    100000         4096
    
    Fixes: 88ba95bedb79 ("backlight: pwm_bl: Compute brightness of LED linearly to human eye")
    Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
    Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
    Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 46333129e2085502ed432b78da31acd4919a3a5c
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Tue Jun 25 09:56:31 2019 -0700

    tools: bpftool: use correct argument in cgroup errors
    
    [ Upstream commit 6c6874f401e5a0caab3b6a0663169e1fb5e930bb ]
    
    cgroup code tries to use argv[0] as the cgroup path,
    but if it fails uses argv[1] to report errors.
    
    Fixes: 5ccda64d38cc ("bpftool: implement cgroup bpf operations")
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
    Acked-by: Roman Gushchin <guro@fb.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3fda89256338fcb74ffb0e7bfd3b910c6fecb0bd
Author: Bryan O'Donoghue <pure.logic@nexus-software.ie>
Date:   Wed Jun 26 11:27:30 2019 +0100

    nvmem: imx-ocotp: Change TIMING calculation to u-boot algorithm
    
    [ Upstream commit 159dbaf57b2f4f67ecb59b2c87d071e45ed41d7e ]
    
    The RELAX field of the OCOTP block is turning out as a zero on i.MX8MM.
    This messes up the subsequent re-load of the fuse shadow registers.
    
    After some discussion with people @ NXP its clear we have missed a trick
    here in Linux.
    
    The OCOTP fuse programming time has a physical minimum 'burn time' that is
    not related to the ipg_clk.
    
    We need to define the RELAX, STROBE_READ and STROBE_PROG fields in terms of
    desired timings to allow for the burn-in to safely complete. Right now only
    the RELAX field is calculated in terms of an absolute time and we are
    ending up with a value of zero.
    
    This patch inherits the u-boot timings for the OCOTP_TIMING calculation on
    the i.MX6 and i.MX8. Those timings are known to work and critically specify
    values such as STROBE_PROG as a minimum timing.
    
    Fixes: 0642bac7da42 ("nvmem: imx-ocotp: add write support")
    
    Signed-off-by: Bryan O'Donoghue <pure.logic@nexus-software.ie>
    Suggested-by: Leonard Crestez <leonard.crestez@nxp.com>
    Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
    Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bb3da5e735383b97da63691741b30039433ba7e9
Author: Bryan O'Donoghue <pure.logic@nexus-software.ie>
Date:   Wed Jun 26 11:27:29 2019 +0100

    nvmem: imx-ocotp: Ensure WAIT bits are preserved when setting timing
    
    [ Upstream commit 0493c4792b4eb260441e57f52cc11a9ded48b5a7 ]
    
    The i.MX6 and i.MX8 both have a bit-field spanning bits 27:22 called the
    WAIT field.
    
    The WAIT field according to the documentation for both parts "specifies
    time interval between auto read and write access in one time program. It is
    given in number of ipg_clk periods."
    
    This patch ensures that the relevant field is read and written back to the
    timing register.
    
    Fixes: 0642bac7da42 ("nvmem: imx-ocotp: add write support")
    
    Signed-off-by: Bryan O'Donoghue <pure.logic@nexus-software.ie>
    Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
    Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fe9968a6a7191235438ba808efaade39567b1283
Author: Nathan Huckleberry <nhuck@google.com>
Date:   Tue Jun 11 14:11:34 2019 -0700

    clk: qcom: Fix -Wunused-const-variable
    
    [ Upstream commit da642427bd7710ec4f4140f693f59aa8521a358c ]
    
    Clang produces the following warning
    
    drivers/clk/qcom/gcc-msm8996.c:133:32: warning: unused variable
    'gcc_xo_gpll0_gpll2_gpll3_gpll0_early_div_map' [-Wunused-const-variable]
    static const struct
    parent_map gcc_xo_gpll0_gpll2_gpll3_gpll0_early_div_map[] =
    { ^drivers/clk/qcom/gcc-msm8996.c:141:27: warning: unused variable
    'gcc_xo_gpll0_gpll2_gpll3_gpll0_early_div' [-Wunused-const-variable] static
    const char * const gcc_xo_gpll0_gpll2_gpll3_gpll0_early_div[] = { ^
    drivers/clk/qcom/gcc-msm8996.c:187:32: warning: unused variable
    'gcc_xo_gpll0_gpll2_gpll3_gpll1_gpll4_gpll0_early_div_map'
    [-Wunused-const-variable] static const struct parent_map
    gcc_xo_gpll0_gpll2_gpll3_gpll1_gpll4_gpll0_early_div_map[] = { ^
    drivers/clk/qcom/gcc-msm8996.c:197:27: warning: unused variable
    'gcc_xo_gpll0_gpll2_gpll3_gpll1_gpll4_gpll0_early_div'
    [-Wunused-const-variable] static const char * const
    gcc_xo_gpll0_gpll2_gpll3_gpll1_gpll4_gpll0_early_div[] = {
    
    It looks like these were never used.
    
    Fixes: b1e010c0730a ("clk: qcom: Add MSM8996 Global Clock Control (GCC) driver")
    Cc: clang-built-linux@googlegroups.com
    Link: https://github.com/ClangBuiltLinux/linux/issues/518
    Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
    Signed-off-by: Nathan Huckleberry <nhuck@google.com>
    Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3b8e3cf692249cc68cc66363f60d271733fe3793
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Thu Jun 13 16:32:32 2019 +0300

    dmaengine: hsu: Revert "set HSU_CH_MTSR to memory width"
    
    [ Upstream commit c24a5c735f87d0549060de31367c095e8810b895 ]
    
    The commit
    
      080edf75d337 ("dmaengine: hsu: set HSU_CH_MTSR to memory width")
    
    has been mistakenly submitted. The further investigations show that
    the original code does better job since the memory side transfer size
    has never been configured by DMA users.
    
    As per latest revision of documentation: "Channel minimum transfer size
    (CHnMTSR)... For IOSF UART, maximum value that can be programmed is 64 and
    minimum value that can be programmed is 1."
    
    This reverts commit 080edf75d337d35faa6fc3df99342b10d2848d16.
    
    Fixes: 080edf75d337 ("dmaengine: hsu: set HSU_CH_MTSR to memory width")
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 574fe4c9a31490bbe53dfa3281ed269039ecc087
Author: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
Date:   Tue Jun 4 09:59:53 2019 +0530

    perf/ioctl: Add check for the sample_period value
    
    [ Upstream commit 913a90bc5a3a06b1f04c337320e9aeee2328dd77 ]
    
    perf_event_open() limits the sample_period to 63 bits. See:
    
      0819b2e30ccb ("perf: Limit perf_event_attr::sample_period to 63 bits")
    
    Make ioctl() consistent with it.
    
    Also on PowerPC, negative sample_period could cause a recursive
    PMIs leading to a hang (reported when running perf-fuzzer).
    
    Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Vince Weaver <vincent.weaver@maine.edu>
    Cc: acme@kernel.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: maddy@linux.vnet.ibm.com
    Cc: mpe@ellerman.id.au
    Fixes: 0819b2e30ccb ("perf: Limit perf_event_attr::sample_period to 63 bits")
    Link: https://lkml.kernel.org/r/20190604042953.914-1-ravi.bangoria@linux.ibm.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 50e10e08016039f97db670e8edbf6dbc2fe7c233
Author: Stefano Brivio <sbrivio@redhat.com>
Date:   Fri Jun 21 17:45:28 2019 +0200

    ip6_fib: Don't discard nodes with valid routing information in fib6_locate_1()
    
    [ Upstream commit 40cb35d5dc04e7f89cbc7b1fc9b4b48d9f1e5343 ]
    
    When we perform an inexact match on FIB nodes via fib6_locate_1(), longer
    prefixes will be preferred to shorter ones. However, it might happen that
    a node, with higher fn_bit value than some other, has no valid routing
    information.
    
    In this case, we'll pick that node, but it will be discarded by the check
    on RTN_RTINFO in fib6_locate(), and we might miss nodes with valid routing
    information but with lower fn_bit value.
    
    This is apparent when a routing exception is created for a default route:
     # ip -6 route list
     fc00:1::/64 dev veth_A-R1 proto kernel metric 256 pref medium
     fc00:2::/64 dev veth_A-R2 proto kernel metric 256 pref medium
     fc00:4::1 via fc00:2::2 dev veth_A-R2 metric 1024 pref medium
     fe80::/64 dev veth_A-R1 proto kernel metric 256 pref medium
     fe80::/64 dev veth_A-R2 proto kernel metric 256 pref medium
     default via fc00:1::2 dev veth_A-R1 metric 1024 pref medium
     # ip -6 route list cache
     fc00:4::1 via fc00:2::2 dev veth_A-R2 metric 1024 expires 593sec mtu 1500 pref medium
     fc00:3::1 via fc00:1::2 dev veth_A-R1 metric 1024 expires 593sec mtu 1500 pref medium
     # ip -6 route flush cache    # node for default route is discarded
     Failed to send flush request: No such process
     # ip -6 route list cache
     fc00:3::1 via fc00:1::2 dev veth_A-R1 metric 1024 expires 586sec mtu 1500 pref medium
    
    Check right away if the node has a RTN_RTINFO flag, before replacing the
    'prev' pointer, that indicates the longest matching prefix found so far.
    
    Fixes: 38fbeeeeccdb ("ipv6: prepare fib6_locate() for exception table")
    Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 62978761c8c6832e6f9c00d132e3d291357f1b17
Author: Rob Clark <robdclark@chromium.org>
Date:   Mon Jun 24 09:09:47 2019 -0700

    drm/msm/a3xx: remove TPL1 regs from snapshot
    
    [ Upstream commit f47bee2ba447bebc304111c16ef1e1a73a9744dd ]
    
    These regs are write-only, and the hw throws a hissy-fit (ie. reboots)
    when we try to read them for GPU state snapshot, in response to a GPU
    hang.  It is rather impolite when GPU recovery triggers an insta-
    reboot, so lets remove the TPL1 registers from the snapshot.
    
    Fixes: 7198e6b03155 drm/msm: add a3xx gpu support
    Signed-off-by: Rob Clark <robdclark@chromium.org>
    Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bcc0fbf141322b98383d25e906b73a9f017bf35c
Author: Chen-Yu Tsai <wens@csie.org>
Date:   Tue Jun 4 12:23:37 2019 +0800

    arm64: dts: allwinner: h6: Pine H64: Add interrupt line for RTC
    
    [ Upstream commit 0bb9d1876c0605815ea0452f68cb819a775a75f9 ]
    
    The external PCF8563 RTC chip's interrupt line is connected to the NMI
    line on the SoC.
    
    Add the interrupt line to the device tree.
    
    Fixes: 17ebc33afc35 ("arm64: allwinner: h6: add PCF8563 RTC on Pine H64 board")
    Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Signed-off-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 67da9350b39363dddf24bced64cfd0a41f01c956
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Fri Jun 21 21:44:37 2019 +0800

    net/sched: cbs: Fix error path of cbs_module_init
    
    [ Upstream commit 45d5cb137c3638b3a310f41b31d8e79daf647f14 ]
    
    If register_qdisc fails, we should unregister
    netdevice notifier.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Fixes: e0a7683d30e9 ("net/sched: cbs: fix port_rate miscalculation")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9b1b59b540ec38f9bce4ed1f9a68ea0a72c92c97
Author: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
Date:   Mon Jun 3 10:53:51 2019 +0100

    ARM: dts: iwg20d-q7-common: Fix SDHI1 VccQ regularor
    
    [ Upstream commit d211650a87edc7f4130651c0ccbc0a4583fd72d3 ]
    
    SDR50 isn't working anymore because the GPIO regulator
    driver is using descriptors since
    commit d6cd33ad7102 ("regulator: gpio: Convert to use descriptors")
    which in turn causes the system to use the polarity of the
    GPIOs (as specified in the DT) for selecting the states,
    but the polarity specified in the DT is wrong.
    This patch fixes the regulator DT definition, and that fixes
    SDR50.
    
    Fixes: 029efb3a03c5 ("ARM: dts: iwg20d-q7: Add SDHI1 support")
    Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
    Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a2a73d6390de9c0c87c5fc4c485cbb004d39d662
Author: Chen-Yu Tsai <wens@csie.org>
Date:   Tue Jun 4 12:23:36 2019 +0800

    rtc: pcf8563: Clear event flags and disable interrupts before requesting irq
    
    [ Upstream commit 3572e8aea3bf925dac1dbf86127657c39fe5c254 ]
    
    Besides the alarm, the PCF8563 also has a timer triggered interrupt.
    In cases where the previous system left the timer and interrupts on,
    or somehow the bits got enabled, the interrupt would keep triggering
    as the kernel doesn't know about it.
    
    Clear both the alarm and timer event flags, and disable the interrupts,
    before requesting the interrupt line.
    
    Fixes: ede3e9d47cca ("drivers/rtc/rtc-pcf8563.c: add alarm support")
    Fixes: a45d528aab8b ("rtc: pcf8563: clear expired alarm at boot time")
    Signed-off-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 31bd5d80c1477e9cc32abeb1f244a31b7020ff7d
Author: Chen-Yu Tsai <wens@csie.org>
Date:   Tue Jun 4 12:23:35 2019 +0800

    rtc: pcf8563: Fix interrupt trigger method
    
    [ Upstream commit 65f662cbf829834fa4d94190eb7691e5a9cb92d8 ]
    
    The PCF8563 datasheet says the interrupt line is active low and stays
    active until the events are cleared, i.e. a level trigger interrupt.
    
    Fix the flags used to request the interrupt.
    
    Fixes: ede3e9d47cca ("drivers/rtc/rtc-pcf8563.c: add alarm support")
    Signed-off-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 63f47d2b2d5b703d4e4bfdd1a79b92d86a89c4c2
Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
Date:   Thu Jun 20 12:20:02 2019 +0300

    ASoC: ti: davinci-mcasp: Fix slot mask settings when using multiple AXRs
    
    [ Upstream commit fd14f4436fd47d5418023c90e933e66d3645552e ]
    
    If multiple serializers are connected in the system and the number of
    channels will need to use more than one serializer the mask to enable the
    serializers were left to 0 if tdm_mask is provided
    
    Fixes: dd55ff8346a97 ("ASoC: davinci-mcasp: Add set_tdm_slots() support")
    
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b977cc31dab1fefbd50f933b7a2815ece3b9c426
Author: Julian Wiedmann <jwi@linux.ibm.com>
Date:   Tue Jun 18 20:43:01 2019 +0200

    net/af_iucv: always register net_device notifier
    
    [ Upstream commit 06996c1d4088a0d5f3e7789d7f96b4653cc947cc ]
    
    Even when running as VM guest (ie pr_iucv != NULL), af_iucv can still
    open HiperTransport-based connections. For robust operation these
    connections require the af_iucv_netdev_notifier, so register it
    unconditionally.
    
    Also handle any error that register_netdevice_notifier() returns.
    
    Fixes: 9fbd87d41392 ("af_iucv: handle netdev events")
    Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
    Reviewed-by: Ursula Braun <ubraun@linux.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9cbefb0fdefcdca66fca88208f4467eb119b56f4
Author: Julian Wiedmann <jwi@linux.ibm.com>
Date:   Tue Jun 18 20:43:00 2019 +0200

    net/af_iucv: build proper skbs for HiperTransport
    
    [ Upstream commit 238965b71b968dc5b3c0fe430e946f488322c4b5 ]
    
    The HiperSockets-based transport path in af_iucv is still too closely
    entangled with qeth.
    With commit a647a02512ca ("s390/qeth: speed-up L3 IQD xmit"), the
    relevant xmit code in qeth has begun to use skb_cow_head(). So to avoid
    unnecessary skb head expansions, af_iucv must learn to
    1) respect dev->needed_headroom when allocating skbs, and
    2) drop the header reference before cloning the skb.
    
    While at it, also stop hard-coding the LL-header creation stage and just
    use the appropriate helper.
    
    Fixes: a647a02512ca ("s390/qeth: speed-up L3 IQD xmit")
    Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1441242c357ea952993e999a2b5c8808c1d7be58
Author: Fred Klassen <fklassen@appneta.com>
Date:   Mon Jun 17 12:05:07 2019 -0700

    net/udp_gso: Allow TX timestamp with UDP GSO
    
    [ Upstream commit 76e21533a48bb42d1fa894f93f6233bf4554f45e ]
    
    Fixes an issue where TX Timestamps are not arriving on the error queue
    when UDP_SEGMENT CMSG type is combined with CMSG type SO_TIMESTAMPING.
    This can be illustrated with an updated updgso_bench_tx program which
    includes the '-T' option to test for this condition. It also introduces
    the '-P' option which will call poll() before reading the error queue.
    
        ./udpgso_bench_tx -4ucTPv -S 1472 -l2 -D 172.16.120.18
        poll timeout
        udp tx:      0 MB/s        1 calls/s      1 msg/s
    
    The "poll timeout" message above indicates that TX timestamp never
    arrived.
    
    This patch preserves tx_flags for the first UDP GSO segment. Only the
    first segment is timestamped, even though in some cases there may be
    benefital in timestamping both the first and last segment.
    
    Factors in deciding on first segment timestamp only:
    
    - Timestamping both first and last segmented is not feasible. Hardware
    can only have one outstanding TS request at a time.
    
    - Timestamping last segment may under report network latency of the
    previous segments. Even though the doorbell is suppressed, the ring
    producer counter has been incremented.
    
    - Timestamping the first segment has the upside in that it reports
    timestamps from the application's view, e.g. RTT.
    
    - Timestamping the first segment has the downside that it may
    underreport tx host network latency. It appears that we have to pick
    one or the other. And possibly follow-up with a config flag to choose
    behavior.
    
    v2: Remove tests as noted by Willem de Bruijn <willemb@google.com>
        Moving tests from net to net-next
    
    v3: Update only relevant tx_flag bits as per
        Willem de Bruijn <willemb@google.com>
    
    v4: Update comments and commit message as per
        Willem de Bruijn <willemb@google.com>
    
    Fixes: ee80d1ebe5ba ("udp: add udp gso")
    Signed-off-by: Fred Klassen <fklassen@appneta.com>
    Acked-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7be684e10546f1b85dad287498faa679de282c17
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Mon Jun 17 11:11:10 2019 -0700

    net: netem: fix backlog accounting for corrupted GSO frames
    
    [ Upstream commit 177b8007463c4f36c9a2c7ce7aa9875a4cad9bd5 ]
    
    When GSO frame has to be corrupted netem uses skb_gso_segment()
    to produce the list of frames, and re-enqueues the segments one
    by one.  The backlog length has to be adjusted to account for
    new frames.
    
    The current calculation is incorrect, leading to wrong backlog
    lengths in the parent qdisc (both bytes and packets), and
    incorrect packet backlog count in netem itself.
    
    Parent backlog goes negative, netem's packet backlog counts
    all non-first segments twice (thus remaining non-zero even
    after qdisc is emptied).
    
    Move the variables used to count the adjustment into local
    scope to make 100% sure they aren't used at any stage in
    backports.
    
    Fixes: 6071bd1aa13e ("netem: Segment GSO packets on enqueue")
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
    Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5c3ce69b0e6b24fbd1fdfce6b7073504c7d9f4b0
Author: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
Date:   Tue May 21 08:00:30 2019 -0700

    drm/msm/mdp5: Fix mdp5_cfg_init error return
    
    [ Upstream commit fc19cbb785d7bbd1a1af26229b5240a3ab332744 ]
    
    If mdp5_cfg_init fails because of an unknown major version, a null pointer
    dereference occurs.  This is because the caller of init expects error
    pointers, but init returns NULL on error.  Fix this by returning the
    expected values on error.
    
    Fixes: 2e362e1772b8 (drm/msm/mdp5: introduce mdp5_cfg module)
    Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
    Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ad244fd0c5bff671f53da501921432b6e02a29ea
Author: Mike Marciniszyn <mike.marciniszyn@intel.com>
Date:   Fri Jun 14 12:33:06 2019 -0400

    IB/hfi1: Handle port down properly in pio
    
    [ Upstream commit 942a899335707fc9cfc97cb382a60734b2ff4e03 ]
    
    The call to sc_buffer_alloc currently returns NULL (no buffer) or
    a buffer descriptor.
    
    There is a third case when the port is down.  Currently that
    returns NULL and this prevents the caller from properly handling the
    sc_buffer_alloc() failure.  A verbs code link test after the call is
    racy so the indication needs to come from the state check inside the allocation
    routine to be valid.
    
    Fix by encoding the ECOMM failure like SDMA.   IS_ERR_OR_NULL() tests
    are added at all call sites.  For verbs send, this needs to treat any
    error by returning a completion without any MMIO copy.
    
    Fixes: 7724105686e7 ("IB/hfi1: add driver files")
    Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
    Signed-off-by: Doug Ledford <dledford@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 59a7ecd9d20b2871c5402e11f813defe3d3151ee
Author: Anton Protopopov <a.s.protopopov@gmail.com>
Date:   Sat Jun 15 22:53:48 2019 +0000

    bpf: fix the check that forwarding is enabled in bpf_ipv6_fib_lookup
    
    [ Upstream commit 56f0f84e69c7a7f229dfa524b13b0ceb6ce9b09e ]
    
    The bpf_ipv6_fib_lookup function should return BPF_FIB_LKUP_RET_FWD_DISABLED
    when forwarding is disabled for the input device.  However instead of checking
    if forwarding is enabled on the input device, it checked the global
    net->ipv6.devconf_all->forwarding flag.  Change it to behave as expected.
    
    Fixes: 87f5fc7e48dd ("bpf: Provide helper to do forwarding lookups in kernel FIB table")
    Signed-off-by: Anton Protopopov <a.s.protopopov@gmail.com>
    Acked-by: Toke Høiland-Jørgensen <toke@redhat.com>
    Reviewed-by: David Ahern <dsahern@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit da5b8af2414c9d49cf2232951a27677d8d471000
Author: Nathan Lynch <nathanl@linux.ibm.com>
Date:   Tue Jun 11 23:45:06 2019 -0500

    powerpc/pseries/mobility: rebuild cacheinfo hierarchy post-migration
    
    [ Upstream commit e610a466d16a086e321f0bd421e2fc75cff28605 ]
    
    It's common for the platform to replace the cache device nodes after a
    migration. Since the cacheinfo code is never informed about this, it
    never drops its references to the source system's cache nodes, causing
    it to wind up in an inconsistent state resulting in warnings and oopses
    as soon as CPU online/offline occurs after the migration, e.g.
    
      cache for /cpus/l3-cache@3113(Unified) refers to cache for /cpus/l2-cache@200d(Unified)
      WARNING: CPU: 15 PID: 86 at arch/powerpc/kernel/cacheinfo.c:176 release_cache+0x1bc/0x1d0
      [...]
      NIP release_cache+0x1bc/0x1d0
      LR  release_cache+0x1b8/0x1d0
      Call Trace:
        release_cache+0x1b8/0x1d0 (unreliable)
        cacheinfo_cpu_offline+0x1c4/0x2c0
        unregister_cpu_online+0x1b8/0x260
        cpuhp_invoke_callback+0x114/0xf40
        cpuhp_thread_fun+0x270/0x310
        smpboot_thread_fn+0x2c8/0x390
        kthread+0x1b8/0x1c0
        ret_from_kernel_thread+0x5c/0x68
    
    Using device tree notifiers won't work since we want to rebuild the
    hierarchy only after all the removals and additions have occurred and
    the device tree is in a consistent state. Call cacheinfo_teardown()
    before processing device tree updates, and rebuild the hierarchy
    afterward.
    
    Fixes: 410bccf97881 ("powerpc/pseries: Partition migration in the kernel")
    Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
    Reviewed-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1027dbdc46fa1333fa40f4b2fe9296b4209e7fbf
Author: Nathan Lynch <nathanl@linux.ibm.com>
Date:   Tue Jun 11 23:45:04 2019 -0500

    powerpc/cacheinfo: add cacheinfo_teardown, cacheinfo_rebuild
    
    [ Upstream commit d4aa219a074a5abaf95a756b9f0d190b5c03a945 ]
    
    Allow external callers to force the cacheinfo code to release all its
    references to cache nodes, e.g. before processing device tree updates
    post-migration, and to rebuild the hierarchy afterward.
    
    CPU online/offline must be blocked by callers; enforce this.
    
    Fixes: 410bccf97881 ("powerpc/pseries: Partition migration in the kernel")
    Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
    Reviewed-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 011b271358359d00c8bfb7964cfadfd86e840f51
Author: Michal Kalderon <michal.kalderon@marvell.com>
Date:   Thu Jun 13 11:29:41 2019 +0300

    qed: iWARP - fix uninitialized callback
    
    [ Upstream commit 43cf40d93fadbb0d3edf0942a4612f8ff67478a1 ]
    
    Fix uninitialized variable warning by static checker.
    
    Fixes: ae3488ff37dc ("qed: Add ll2 connection for processing unaligned MPA packets")
    Signed-off-by: Ariel Elior <ariel.elior@marvell.com>
    Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c8573aa696c242b0e11d9e3f48192c6756cbeffe
Author: Michal Kalderon <michal.kalderon@marvell.com>
Date:   Thu Jun 13 11:29:40 2019 +0300

    qed: iWARP - Use READ_ONCE and smp_store_release to access ep->state
    
    [ Upstream commit 6117561e1bb30b2fe7f51e1961f34dbedd0bec8a ]
    
    Destroy QP waits for it's ep object state to be set to CLOSED
    before proceeding. ep->state can be updated from a different
    context. Add smp_store_release/READ_ONCE to synchronize.
    
    Fixes: fc4c6065e661 ("qed: iWARP implement disconnect flows")
    Signed-off-by: Ariel Elior <ariel.elior@marvell.com>
    Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 49a3e44b2c14a94a9a8c82d448a3c2a43282df09
Author: Jerome Brunet <jbrunet@baylibre.com>
Date:   Thu Jun 13 13:42:31 2019 +0200

    ASoC: meson: axg-tdmout: right_j is not supported
    
    [ Upstream commit 7e0d7d0fbd06af0507611f85dba8daf24832abd9 ]
    
    Right justified format is actually not supported by the amlogic tdm output
    encoder.
    
    Fixes: c41c2a355b86 ("ASoC: meson: add tdm output driver")
    Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7e6058710c7d500b9a6ed328190dedb623aca212
Author: Jerome Brunet <jbrunet@baylibre.com>
Date:   Thu Jun 13 13:42:30 2019 +0200

    ASoC: meson: axg-tdmin: right_j is not supported
    
    [ Upstream commit 47c317b786b6c1efc2cb3cdb894fd323422fe5ea ]
    
    Right justified format is actually not supported by the amlogic tdm input
    decoder.
    
    Fixes: 13a22e6a98f8 ("ASoC: meson: add tdm input driver")
    Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit eddad30e746165fa951e056bbc6b02cd9e50623e
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Mon Mar 25 12:17:26 2019 +0300

    ntb_hw_switchtec: potential shift wrapping bug in switchtec_ntb_init_sndev()
    
    [ Upstream commit ff148d8ac53e59802645bd3200c811620317eb9f ]
    
    This code triggers a Smatch warning:
    
        drivers/ntb/hw/mscc/ntb_hw_switchtec.c:884 switchtec_ntb_init_sndev()
        warn: should '(1 << sndev->peer_partition)' be a 64 bit type?
    
    The "part_map" and "tpart_vec" variables are u64 type so this seems like
    a valid warning.
    
    Fixes: 3df54c870f52 ("ntb_hw_switchtec: Allow using Switchtec NTB in multi-partition setups")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
    Signed-off-by: Jon Mason <jdmason@kudzu.us>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9a0e3a1d2ab6e6d5776e50b8408a80bd076e9ec0
Author: Peng Fan <peng.fan@nxp.com>
Date:   Wed May 22 10:15:21 2019 +0000

    firmware: arm_scmi: update rate_discrete in clock_describe_rates_get
    
    [ Upstream commit c0759b9b5d411ab27c479125cee9bae391a96436 ]
    
    The boolean rate_discrete needs to be assigned to clk->rate_discrete,
    so that clock driver can distinguish between the continuous range and
    discrete rates. It uses this in scmi_clk_round_rate could get the
    rounded value if it's a continuous range.
    
    Fixes: 5f6c6430e904 ("firmware: arm_scmi: add initial support for clock protocol")
    Signed-off-by: Peng Fan <peng.fan@nxp.com>
    [sudeep.holla: updated commit message]
    Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5277e3150780dd4d3272c73fe5300fa17b7163d9
Author: Sudeep Holla <sudeep.holla@arm.com>
Date:   Tue May 14 17:10:31 2019 +0100

    firmware: arm_scmi: fix bitfield definitions for SENSOR_DESC attributes
    
    [ Upstream commit 430daaf96ad133be5ce7c3a5c60e94247f7c6f71 ]
    
    As per the SCMI specification the bitfields for SENSOR_DESC attributes
    are as follows:
    attributes_low  [7:0]   Number of trip points supported
    attributes_high [15:11] The power-of-10 multiplier in 2's-complement
                            format that is applied to the sensor units
    
    Looks like the code developed during the draft versions of the
    specification slipped through and are wrong with respect to final
    released version. Fix them by adjusting the bitfields appropriately.
    
    Fixes: 5179c523c1ea ("firmware: arm_scmi: add initial support for sensor protocol")
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3085de8d958086711c850c44612d28f5f9dfa678
Author: Florian Fainelli <f.fainelli@gmail.com>
Date:   Wed May 22 11:35:25 2019 -0700

    phy: usb: phy-brcm-usb: Remove sysfs attributes upon driver removal
    
    [ Upstream commit d9e100829fca6cbd270d7e005b0c0bb2d14924b8 ]
    
    We are not destroying the sysfs attribute groupe we registered during
    the probe function which will make subsequent probe calls to that
    driver fail. Correct that with adding a remove function which only
    removes those attributes since the reference counting on clocks did its
    job already.
    
    Fixes: 415060b21f31 ("phy: usb: phy-brcm-usb: Add ability to force DRD mode to host or device")
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2ca113011d9c28c0f7b55b0dd408eaab04d6d49c
Author: Eric Auger <eric.auger@redhat.com>
Date:   Mon Jun 3 08:53:31 2019 +0200

    iommu/vt-d: Duplicate iommu_resv_region objects per device list
    
    [ Upstream commit 5f64ce5411b467f1cfea6c63e2494c22b773582b ]
    
    intel_iommu_get_resv_regions() aims to return the list of
    reserved regions accessible by a given @device. However several
    devices can access the same reserved memory region and when
    building the list it is not safe to use a single iommu_resv_region
    object, whose container is the RMRR. This iommu_resv_region must
    be duplicated per device reserved region list.
    
    Let's remove the struct iommu_resv_region from the RMRR unit
    and allocate the iommu_resv_region directly in
    intel_iommu_get_resv_regions(). We hold the dmar_global_lock instead
    of the rcu-lock to allow sleeping.
    
    Fixes: 0659b8dc45a6 ("iommu/vt-d: Implement reserved region get/put callbacks")
    Signed-off-by: Eric Auger <eric.auger@redhat.com>
    Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3add501c19e8545875fc4a0bf5f201670aded04d
Author: Christian Hewitt <christianshewitt@gmail.com>
Date:   Mon May 27 15:21:52 2019 +0200

    arm64: dts: meson-gxm-khadas-vim2: fix Bluetooth support
    
    [ Upstream commit 33344e2111a3a07097a66f339ad213b047ccdfd2 ]
    
    - Remove serial1 alias
    - Add support for uart_A rts/cts
    - Add bluetooth uart_A subnode qith shutdown gpio
    
    Fixes: b8b74dda3908 ("ARM64: dts: meson-gxm: Add support for Khadas VIM2")
    Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a1c7cba2fbc992fc66ad78ce5352d0500f1e874b
Author: Christian Hewitt <christianshewitt@gmail.com>
Date:   Mon May 27 15:21:51 2019 +0200

    arm64: dts: meson-gxm-khadas-vim2: fix gpio-keys-polled node
    
    [ Upstream commit 0afd24c2fb61bd5163bab08ea1ee54d60d3ea37e ]
    
    Fix DTC warnings:
    
    meson-gxm-khadas-vim2.dtb: Warning (avoid_unnecessary_addr_size):
       /gpio-keys-polled: unnecessary #address-cells/#size-cells
            without "ranges" or child "reg" property
    
    Fixes: b8b74dda3908 ("ARM64: dts: meson-gxm: Add support for Khadas VIM2")
    Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 91ae7928fb1f4415623d9fad0833989c4569f418
Author: Borut Seljak <borut.seljak@t-2.net>
Date:   Fri Jun 7 12:53:06 2019 +0200

    serial: stm32: fix a recursive locking in stm32_config_rs485
    
    [ Upstream commit 707aeea13a9c85520262e11899d86df3c4b48262 ]
    
    Remove spin_lock_irqsave in stm32_config_rs485, it cause recursive locking.
    Already locked in uart_set_rs485_config.
    
    Fixes: 1bcda09d291081 ("serial: stm32: add support for RS485 hardware control mode")
    Signed-off-by: Borut Seljak <borut.seljak@t-2.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5389e1b4c92e3ae02892aa8fbf4a26192c04bf91
Author: George Wilkie <gwilkie@vyatta.att-mail.com>
Date:   Fri Jun 7 11:49:41 2019 +0100

    mpls: fix warning with multi-label encap
    
    [ Upstream commit 2f3f7d1fa0d1039b24a55d127ed190f196fc3e79 ]
    
    If you configure a route with multiple labels, e.g.
      ip route add 10.10.3.0/24 encap mpls 16/100 via 10.10.2.2 dev ens4
    A warning is logged:
      kernel: [  130.561819] netlink: 'ip': attribute type 1 has an invalid
      length.
    
    This happens because mpls_iptunnel_policy has set the type of
    MPLS_IPTUNNEL_DST to fixed size NLA_U32.
    Change it to a minimum size.
    nla_get_labels() does the remaining validation.
    
    Fixes: e3e4712ec096 ("mpls: ip tunnel support")
    Signed-off-by: George Wilkie <gwilkie@vyatta.att-mail.com>
    Reviewed-by: David Ahern <dsahern@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ae8ff9c564ae5d3e4fee0c41f53dec70fa8bdc77
Author: Takeshi Kihara <takeshi.kihara.df@renesas.com>
Date:   Wed Nov 21 08:08:08 2018 -0800

    arm64: dts: renesas: ebisu: Remove renesas, no-ether-link property
    
    [ Upstream commit 90d4fa39d028f2e46c57c3d0e1b759e5287d98b7 ]
    
    It is incorrect to specify the no-ether-link property for the AVB device on
    the Ebisu board. This is because the property should only be used when a
    board does not provide a proper AVB_LINK signal. However, the Ebisu board
    does provide this signal.
    
    As per 87c059e9c39d ("arm64: dts: renesas: salvator-x: Remove renesas,
    no-ether-link property") this fixes a bug:
    
        Steps to reproduce:
        - start AVB TX stream (Using aplay via MSE),
        - disconnect+reconnect the eth cable,
        - after a reconnection the eth connection goes iteratively up/down
          without user interaction,
        - this may heal after some seconds or even stay for minutes.
    
        As the documentation specifies, the "renesas,no-ether-link" option
        should be used when a board does not provide a proper AVB_LINK signal.
        There is no need for this option enabled on RCAR H3/M3 Salvator-X/XS
        and ULCB starter kits since the AVB_LINK is correctly handled by HW.
    
        Choosing to keep or remove the "renesas,no-ether-link" option will have
        impact on the code flow in the following ways:
        - keeping this option enabled may lead to unexpected behavior since the
          RX & TX are enabled/disabled directly from adjust_link function
          without any HW interrogation,
        - removing this option, the RX & TX will only be enabled/disabled after
          HW interrogation. The HW check is made through the LMON pin in PSR
          register which specifies AVB_LINK signal value (0 - at low level;
          1 - at high level).
    
        In conclusion, the present change is also a safety improvement because
        it removes the "renesas,no-ether-link" option leading to a proper way
        of detecting the link state based on HW interrogation and not on
        software heuristic.
    
    Fixes: 8441ef643d7d ("arm64: dts: renesas: r8a77990: ebisu: Enable EthernetAVB")
    Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com>
    [simon: updated changelog]
    Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ccc988d685c2ed6caa95d554a48c7f1f706d0aad
Author: Antoine Tenart <antoine.tenart@bootlin.com>
Date:   Mon May 27 16:51:02 2019 +0200

    crypto: inside-secure - fix queued len computation
    
    [ Upstream commit ccd65a206a5025cf953a2e4f37e894921b131a5c ]
    
    This patch fixes the queued len computation, which could theoretically
    be wrong if req->len[1] - req->processed[1] > 1. Be future-proof here,
    and fix it.
    
    Fixes: b460edb6230a ("crypto: inside-secure - sha512 support")
    Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 65bf43424df4688215ba6f2bfa5d00fca3b3f481
Author: Antoine Tenart <antoine.tenart@bootlin.com>
Date:   Mon May 27 16:51:01 2019 +0200

    crypto: inside-secure - fix zeroing of the request in ahash_exit_inv
    
    [ Upstream commit b926213d6fede9c9427d7c12eaf7d9f0895deb4e ]
    
    A request is zeroed in safexcel_ahash_exit_inv(). This request total
    size is EIP197_AHASH_REQ_SIZE while the memset zeroing it uses
    sizeof(struct ahash_request), which happens to be less than
    EIP197_AHASH_REQ_SIZE. This patch fixes it.
    
    Fixes: f6beaea30487 ("crypto: inside-secure - authenc(hmac(sha256), cbc(aes)) support")
    Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ae6bc5b8ccdfefabcf70cd380c0716bffd8eaf5d
Author: Colin Ian King <colin.king@canonical.com>
Date:   Tue Jun 4 10:55:15 2019 -0400

    media: vivid: fix incorrect assignment operation when setting video mode
    
    [ Upstream commit d4ec9550e4b2d2e357a46fdc65d8ef3d4d15984c ]
    
    The assigment of FB_VMODE_NONINTERLACE to var->vmode should be a
    bit-wise or of FB_VMODE_NONINTERLACE instead of an assignment,
    otherwise the previous clearing of the FB_VMODE_MASK bits of
    var->vmode makes no sense and is redundant.
    
    Addresses-Coverity: ("Unused value")
    Fixes: ad4e02d5081d ("[media] vivid: add a simple framebuffer device for overlay testing")
    
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e252889cd7023c8eeea0b7920f0be8ceaaf8e145
Author: Ondrej Jirman <megous@megous.com>
Date:   Tue Jun 4 17:40:36 2019 +0200

    clk: sunxi-ng: sun50i-h6-r: Fix incorrect W1 clock gate register
    
    [ Upstream commit f167675486c37b88620d344fbb12d06e34f11d47 ]
    
    The current code defines W1 clock gate to be at 0x1cc, overlaying it
    with the IR gate.
    
    Clock gate for r-apb1-w1 is at 0x1ec. This fixes issues with IR receiver
    causing interrupt floods on H6 (because interrupt flags can't be cleared,
    due to IR module's bus being disabled).
    
    Fixes: b7c7b05065aa77ae ("clk: sunxi-ng: add support for H6 PRCM CCU")
    Signed-off-by: Ondrej Jirman <megous@megous.com>
    Acked-by: Clément Péron <peron.clem@gmail.com>
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9232a39de09da4d064324a217c3a367676b76be7
Author: Florian Fainelli <f.fainelli@gmail.com>
Date:   Wed May 22 11:45:47 2019 -0700

    cpufreq: brcmstb-avs-cpufreq: Fix types for voltage/frequency
    
    [ Upstream commit 4c5681fcc684c762b09435de3e82ffeee7769d21 ]
    
    What we read back from the register is going to be capped at 32-bits,
    and cpufreq_freq_table.frequency is an unsigned int. Avoid any possible
    value truncation by using the appropriate return value.
    
    Fixes: de322e085995 ("cpufreq: brcmstb-avs-cpufreq: AVS CPUfreq driver for Broadcom STB SoCs")
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Acked-by: Markus Mayer <mmayer@broadcom.com>
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3f740f7177e4c440039228e436251ef7787c9e9f
Author: Florian Fainelli <f.fainelli@gmail.com>
Date:   Wed May 22 11:45:46 2019 -0700

    cpufreq: brcmstb-avs-cpufreq: Fix initial command check
    
    [ Upstream commit 22a26cc6a51ef73dcfeb64c50513903f6b2d53d8 ]
    
    There is a logical error in brcm_avs_is_firmware_loaded() whereby if the
    firmware returns -EINVAL, we will be reporting this as an error. The
    comment is correct, the code was not.
    
    Fixes: de322e085995 ("cpufreq: brcmstb-avs-cpufreq: AVS CPUfreq driver for Broadcom STB SoCs")
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Acked-by: Markus Mayer <mmayer@broadcom.com>
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 26aa47a8a01fe6b75de8f967fd6bea6517470b3d
Author: Colin Ian King <colin.king@canonical.com>
Date:   Fri May 31 13:05:59 2019 +0100

    phy: qcom-qusb2: fix missing assignment of ret when calling clk_prepare_enable
    
    [ Upstream commit d98010817a26eba8d4d1e8a639e0b7d7f042308a ]
    
    The error return from the call to clk_prepare_enable is not being assigned
    to variable ret even though ret is being used to check if the call failed.
    Fix this by adding in the missing assignment.
    
    Addresses-Coverity: ("Logically dead code")
    Fixes: 891a96f65ac3 ("phy: qcom-qusb2: Add support for runtime PM")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7b245fbd2374c5cbf770f5c7d8a30170ab205c8f
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Wed May 29 16:33:23 2019 -0700

    net: don't clear sock->sk early to avoid trouble in strparser
    
    [ Upstream commit 2b81f8161dfeda4017cef4f2498ccb64b13f0d61 ]
    
    af_inet sets sock->sk to NULL which trips strparser over:
    
    BUG: kernel NULL pointer dereference, address: 0000000000000012
    PGD 0 P4D 0
    Oops: 0000 [#1] SMP PTI
    CPU: 7 PID: 0 Comm: swapper/7 Not tainted 5.2.0-rc1-00139-g14629453a6d3 #21
    RIP: 0010:tcp_peek_len+0x10/0x60
    RSP: 0018:ffffc02e41c54b98 EFLAGS: 00010246
    RAX: 0000000000000000 RBX: ffff9cf924c4e030 RCX: 0000000000000051
    RDX: 0000000000000000 RSI: 000000000000000c RDI: ffff9cf97128f480
    RBP: ffff9cf9365e0300 R08: ffff9cf94fe7d2c0 R09: 0000000000000000
    R10: 000000000000036b R11: ffff9cf939735e00 R12: ffff9cf91ad9ae40
    R13: ffff9cf924c4e000 R14: ffff9cf9a8fcbaae R15: 0000000000000020
    FS: 0000000000000000(0000) GS:ffff9cf9af7c0000(0000) knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 0000000000000012 CR3: 000000013920a003 CR4: 00000000003606e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
     Call Trace:
     <IRQ>
     strp_data_ready+0x48/0x90
     tls_data_ready+0x22/0xd0 [tls]
     tcp_rcv_established+0x569/0x620
     tcp_v4_do_rcv+0x127/0x1e0
     tcp_v4_rcv+0xad7/0xbf0
     ip_protocol_deliver_rcu+0x2c/0x1c0
     ip_local_deliver_finish+0x41/0x50
     ip_local_deliver+0x6b/0xe0
     ? ip_protocol_deliver_rcu+0x1c0/0x1c0
     ip_rcv+0x52/0xd0
     ? ip_rcv_finish_core.isra.20+0x380/0x380
     __netif_receive_skb_one_core+0x7e/0x90
     netif_receive_skb_internal+0x42/0xf0
     napi_gro_receive+0xed/0x150
     nfp_net_poll+0x7a2/0xd30 [nfp]
     ? kmem_cache_free_bulk+0x286/0x310
     net_rx_action+0x149/0x3b0
     __do_softirq+0xe3/0x30a
     ? handle_irq_event_percpu+0x6a/0x80
     irq_exit+0xe8/0xf0
     do_IRQ+0x85/0xd0
     common_interrupt+0xf/0xf
     </IRQ>
    RIP: 0010:cpuidle_enter_state+0xbc/0x450
    
    To avoid this issue set sock->sk after sk_prot->close.
    My grepping and testing did not discover any code which
    would depend on the current behaviour.
    
    Fixes: c46234ebb4d1 ("tls: RX path for ktls")
    Reported-by: David Beckett <david.beckett@netronome.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ccd93cb455305a6a643d4c541763c22edd45365d
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu May 30 11:20:24 2019 +0300

    RDMA/uverbs: check for allocation failure in uapi_add_elm()
    
    [ Upstream commit cac2a301c02a9b178842e22df34217da7854e588 ]
    
    If the kzalloc() fails then we should return ERR_PTR(-ENOMEM).  In the
    current code it's possible that the kzalloc() fails and the
    radix_tree_insert() inserts the NULL pointer successfully and we return
    the NULL "elm" pointer to the caller.  That results in a NULL pointer
    dereference.
    
    Fixes: 9ed3e5f44772 ("IB/uverbs: Build the specs into a radix tree at runtime")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6c350e974c953d9a806c73b629eb46f40504743f
Author: Stephen Hemminger <stephen@networkplumber.org>
Date:   Tue May 28 11:47:31 2019 -0700

    net: core: support XDP generic on stacked devices.
    
    [ Upstream commit 458bf2f224f04a513b0be972f8708e78ee2c986e ]
    
    When a device is stacked like (team, bonding, failsafe or netvsc) the
    XDP generic program for the parent device was not called.
    
    Move the call to XDP generic inside __netif_receive_skb_core where
    it can be done multiple times for stacked case.
    
    Fixes: d445516966dc ("net: xdp: support xdp generic on virtual devices")
    Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1c12bf1ebe5ca717bc771341dfe685eb7fd141e3
Author: Stephen Hemminger <stephen@networkplumber.org>
Date:   Tue May 28 11:47:30 2019 -0700

    netvsc: unshare skb in VF rx handler
    
    [ Upstream commit 996ed04741467f6d1552440c92988b132a9487ec ]
    
    The netvsc VF skb handler should make sure that skb is not
    shared. Similar logic already exists in bonding and team device
    drivers.
    
    This is not an issue in practice because the VF devicex
    does not send up shared skb's. But the netvsc driver
    should do the right thing if it did.
    
    Fixes: 0c195567a8f6 ("netvsc: transparent VF management")
    Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7f548acecec2a32fd0b7eb5e565662c20e9abd91
Author: Christophe Leroy <christophe.leroy@c-s.fr>
Date:   Tue May 21 13:34:19 2019 +0000

    crypto: talitos - fix AEAD processing.
    
    [ Upstream commit e345177ded17611e36c067751d63d64bf106cb54 ]
    
    This driver is working well in 'simple cases', but as soon as
    more exotic SG lists are provided (dst different from src,
    auth part not in a single SG fragment, ...) there are
    wrong results, overruns, etc ...
    
    This patch cleans up the AEAD processing by:
    - Simplifying the location of 'out of line' ICV
    - Never using 'out of line' ICV on encryp
    - Always using 'out of line' ICV on decrypt
    - Forcing the generation of a SG table on decrypt
    
    Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
    Fixes: aeb4c132f33d ("crypto: talitos - Convert to new AEAD interface")
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d947f064b4feb08ab1e2f43e035ec62827c33581
Author: Huazhong Tan <tanhuazhong@huawei.com>
Date:   Tue May 28 17:03:02 2019 +0800

    net: hns3: fix a memory leak issue for hclge_map_unmap_ring_to_vf_vector
    
    [ Upstream commit 49f971bd308571fe466687227130a7082b662d0e ]
    
    When hclge_bind_ring_with_vector() fails,
    hclge_map_unmap_ring_to_vf_vector() returns the error
    directly, so nobody will free the memory allocated by
    hclge_get_ring_chain_from_mbx().
    
    So hclge_free_vector_ring_chain() should be called no matter
    hclge_bind_ring_with_vector() fails or not.
    
    Fixes: 84e095d64ed9 ("net: hns3: Change PF to add ring-vect binding & resetQ to mailbox")
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 684880d89a9332a78362ea030e40d6cf0062727e
Author: Eric Dumazet <edumazet@google.com>
Date:   Mon May 27 16:56:48 2019 -0700

    inet: frags: call inet_frags_fini() after unregister_pernet_subsys()
    
    [ Upstream commit ae7352d384a552d8c799c242e74a934809990a71 ]
    
    Both IPv6 and 6lowpan are calling inet_frags_fini() too soon.
    
    inet_frags_fini() is dismantling a kmem_cache, that might be needed
    later when unregister_pernet_subsys() eventually has to remove
    frags queues from hash tables and free them.
    
    This fixes potential use-after-free, and is a prereq for the following patch.
    
    Fixes: d4ad4d22e7ac ("inet: frags: use kmem_cache for inet_frag_queue")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e6a13c753f912564256d81f7036f9c524b1ef8ae
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Wed May 15 12:33:50 2019 -0500

    signal/cifs: Fix cifs_put_tcp_session to call send_sig instead of force_sig
    
    [ Upstream commit 72abe3bcf0911d69b46c1e8bdb5612675e0ac42c ]
    
    The locking in force_sig_info is not prepared to deal with a task that
    exits or execs (as sighand may change).  The is not a locking problem
    in force_sig as force_sig is only built to handle synchronous
    exceptions.
    
    Further the function force_sig_info changes the signal state if the
    signal is ignored, or blocked or if SIGNAL_UNKILLABLE will prevent the
    delivery of the signal.  The signal SIGKILL can not be ignored and can
    not be blocked and SIGNAL_UNKILLABLE won't prevent it from being
    delivered.
    
    So using force_sig rather than send_sig for SIGKILL is confusing
    and pointless.
    
    Because it won't impact the sending of the signal and and because
    using force_sig is wrong, replace force_sig with send_sig.
    
    Cc: Namjae Jeon <namjae.jeon@samsung.com>
    Cc: Jeff Layton <jlayton@primarydata.com>
    Cc: Steve French <smfrench@gmail.com>
    Fixes: a5c3e1c725af ("Revert "cifs: No need to send SIGKILL to demux_thread during umount"")
    Fixes: e7ddee9037e7 ("cifs: disable sharing session and tcon and add new TCP sharing code")
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5d1b927a652a5fb4dce8adececea8bfa0aa78020
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Wed May 15 12:23:03 2019 -0500

    signal/bpfilter: Fix bpfilter_kernl to use send_sig not force_sig
    
    [ Upstream commit 1dfd1711de2952fd1bfeea7152bd1687a4eea771 ]
    
    The locking in force_sig_info is not prepared to deal with
    a task that exits or execs (as sighand may change).  As force_sig
    is only built to handle synchronous exceptions.
    
    Further the function force_sig_info changes the signal state if the
    signal is ignored, or blocked or if SIGNAL_UNKILLABLE will prevent the
    delivery of the signal.  The signal SIGKILL can not be ignored and can
    not be blocked and SIGNAL_UNKILLABLE won't prevent it from being
    delivered.
    
    So using force_sig rather than send_sig for SIGKILL is pointless.
    
    Because it won't impact the sending of the signal and and because
    using force_sig is wrong, replace force_sig with send_sig.
    
    Cc: Alexei Starovoitov <ast@kernel.org>
    Cc: David S. Miller <davem@davemloft.net>
    Fixes: d2ba09c17a06 ("net: add skeleton of bpfilter kernel module")
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f771e86b02301bf00c92aa87e9994d974414cab7
Author: Lu Baolu <baolu.lu@linux.intel.com>
Date:   Tue May 21 15:27:35 2019 +0800

    iommu: Use right function to get group for device
    
    [ Upstream commit 57274ea25736496ee019a5c40479855b21888839 ]
    
    The iommu_group_get_for_dev() will allocate a group for a
    device if it isn't in any group. This isn't the use case
    in iommu_request_dm_for_dev(). Let's use iommu_group_get()
    instead.
    
    Fixes: d290f1e70d85a ("iommu: Introduce iommu_request_dm_for_dev()")
    Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 725a96b6f66eaea3d700b30f84c18c76eee404bd
Author: Lu Baolu <baolu.lu@linux.intel.com>
Date:   Fri May 24 14:30:56 2019 +0800

    iommu: Add missing new line for dma type
    
    [ Upstream commit 24f307d8abf79486dd3c1b645037df7d91602aaa ]
    
    So that all types are printed in the same format.
    
    Fixes: c52c72d3dee81 ("iommu: Add sysfs attribyte for domain type")
    Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5004fece16d566531c85f99bf706afc1f31e0fd2
Author: Nathan Chancellor <natechancellor@gmail.com>
Date:   Fri May 24 09:15:17 2019 -0700

    misc: sgi-xp: Properly initialize buf in xpc_get_rsvd_page_pa
    
    [ Upstream commit b0576f9ecb5c51e9932531d23c447b2739261841 ]
    
    Clang warns:
    
    drivers/misc/sgi-xp/xpc_partition.c:73:14: warning: variable 'buf' is
    uninitialized when used within its own initialization [-Wuninitialized]
            void *buf = buf;
                  ~~~   ^~~
    1 warning generated.
    
    Arnd's explanation during review:
    
      /*
       * Returns the physical address of the partition's reserved page through
       * an iterative number of calls.
       *
       * On first call, 'cookie' and 'len' should be set to 0, and 'addr'
       * set to the nasid of the partition whose reserved page's address is
       * being sought.
       * On subsequent calls, pass the values, that were passed back on the
       * previous call.
       *
       * While the return status equals SALRET_MORE_PASSES, keep calling
       * this function after first copying 'len' bytes starting at 'addr'
       * into 'buf'. Once the return status equals SALRET_OK, 'addr' will
       * be the physical address of the partition's reserved page. If the
       * return status equals neither of these, an error as occurred.
       */
      static inline s64
      sn_partition_reserved_page_pa(u64 buf, u64 *cookie, u64 *addr, u64 *len)
    
      so *len is set to zero on the first call and tells the bios how many
      bytes are accessible at 'buf', and it does get updated by the BIOS to
      tell us how many bytes it needs, and then we allocate that and try again.
    
    Fixes: 279290294662 ("[IA64-SGI] cleanup the way XPC locates the reserved page")
    Link: https://github.com/ClangBuiltLinux/linux/issues/466
    Suggested-by: Stephen Hines <srhines@google.com>
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4c737662caa1d2daa6f988a4b8422c11063c899f
Author: Erwan Le Ray <erwan.leray@st.com>
Date:   Tue May 21 17:45:46 2019 +0200

    serial: stm32: fix wakeup source initialization
    
    [ Upstream commit 5297f274e8b61ceb9676cba6649d3de9d03387ad ]
    
    Fixes dedicated_irq_wakeup issue and deactivated uart as wakeup source by
    default.
    
    Fixes: 270e5a74fe4c ("serial: stm32: add wakeup mechanism")
    Signed-off-by: Erwan Le Ray <erwan.leray@st.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c43b9ffcfa31481e4fd3fe588c0806d29e9c0ed0
Author: Erwan Le Ray <erwan.leray@st.com>
Date:   Tue May 21 17:45:45 2019 +0200

    serial: stm32: Add support of TC bit status check
    
    [ Upstream commit 64c32eab660386f9904bb295a104c9c425e9f8b2 ]
    
    Adds a check on the Transmission Complete bit status before closing the
    com port. Prevents the port closure before the end of the transmission.
    TC poll loop is moved from stm32_tx_dma_complete to stm32_shutdown
    routine, in order to check TC before shutdown in both dma and
    PIO tx modes.
    TC clear is added in stm32_transmit_char routine, in order to be cleared
    before transmitting in both dma and PIO tx modes.
    
    Fixes: 3489187204eb ("serial: stm32: adding dma support")
    Signed-off-by: Erwan Le Ray <erwan.leray@st.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 04db09549b692f8d8d8af76ce4efa4aaaa344a52
Author: Erwan Le Ray <erwan.leray@st.com>
Date:   Tue May 21 17:45:44 2019 +0200

    serial: stm32: fix transmit_chars when tx is stopped
    
    [ Upstream commit b83b957c91f68e53f0dc596e129e8305761f2a32 ]
    
    Disables the tx irq  when the transmission is ended and updates stop_tx
    conditions for code cleanup.
    
    Fixes: 48a6092fb41f ("serial: stm32-usart: Add STM32 USART Driver")
    Signed-off-by: Erwan Le Ray <erwan.leray@st.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1537b1a0dad5cdf5eff10c88111e05b68e8ee15c
Author: Erwan Le Ray <erwan.leray@st.com>
Date:   Tue May 21 17:45:43 2019 +0200

    serial: stm32: fix rx data length when parity enabled
    
    [ Upstream commit 6c5962f30bce147b1c83869085f3ddde3b34c9e3 ]
    
    - Fixes a rx data error when data length < 8 bits and parity is enabled.
    RDR register MSB is used for parity bit reception.
    - Adds a mask to ignore MSB when data is get from RDR.
    
    Fixes: 3489187204eb ("serial: stm32: adding dma support")
    Signed-off-by: Erwan Le Ray <erwan.leray@st.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a372e535c698fe6ebe557698a6b0279c80cfa403
Author: Erwan Le Ray <erwan.leray@st.com>
Date:   Tue May 21 17:45:42 2019 +0200

    serial: stm32: fix rx error handling
    
    [ Upstream commit 4f01d833fdcdd6f9b85d9e5d5d7568eb683626a7 ]
    
    - Fixes parity and framing error bit by clearing parity and framing error
      flag. The current implementation doesn't clear the error bits when an
      error is detected.
    - Fixes the incorrect name of framing error clearing flag in header file.
    - Fixes misalignement between data frame and errors status. The status
      read for "n" frame was the status of "n+1" frame".
    - Fixes break detection was not triggered by the expected register.
    
    Fixes: 48a6092fb41f ("serial: stm32-usart: Add STM32 USART Driver")
    Signed-off-by: Erwan Le Ray <erwan.leray@st.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 144fdb20e5c8fb4f14a75225ff8de885c78271f5
Author: Erwan Le Ray <erwan.leray@st.com>
Date:   Tue May 21 17:45:41 2019 +0200

    serial: stm32: fix word length configuration
    
    [ Upstream commit c8a9d043947b4acb19a65f7fac2bd0893e581cd5 ]
    
    STM32 supports either:
    - 8 and 9 bits word length (including parity bit) for stm32f4 compatible
      devices
    - 7, 8 and 9 bits word length (including parity bit) for stm32f7 and
      stm32h7 compatible devices.
    
    As a consequence STM32 supports the following termios configurations:
    - CS7 with parity bit, and CS8 (with or without parity bit) for stm32f4
      compatible devices.
    - CS6 with parity bit, CS7 and CS8 (with or without parity bit) for
      stm32f7 and stm32h7 compatible devices.
    
    This patch is fixing word length by configuring correctly the SoC with
    supported configurations.
    
    Fixes: ada8618ff3bf ("serial: stm32: adding support for stm32f7")
    Signed-off-by: Erwan Le Ray <erwan.leray@st.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bf53cf6a38dcd8d503d3abc82f8cc2eca7be03ed
Author: Hook, Gary <Gary.Hook@amd.com>
Date:   Tue May 14 21:53:30 2019 +0000

    crypto: ccp - Fix 3DES complaint from ccp-crypto module
    
    [ Upstream commit 89646fdda4cae203185444ac7988835f36a21ee1 ]
    
    Crypto self-tests reveal an error:
    
    alg: skcipher: cbc-des3-ccp encryption test failed (wrong output IV) on test vector 0, cfg="in-place"
    
    The offset value should not be recomputed when retrieving the context.
    Also, a code path exists which makes decisions based on older (version 3)
    hardware; a v3 device deosn't support 3DES so remove this check.
    
    Fixes: 990672d48515 ('crypto: ccp - Enable 3DES function on v5 CCPs')
    
    Signed-off-by: Gary R Hook <gary.hook@amd.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cbb94bcb39730d97202016bf3b111cda23656f87
Author: Hook, Gary <Gary.Hook@amd.com>
Date:   Tue May 14 21:53:23 2019 +0000

    crypto: ccp - fix AES CFB error exposed by new test vectors
    
    [ Upstream commit c3b359d6567c0b8f413e924feb37cf025067d55a ]
    
    Updated testmgr will exhibit this error message when loading the
    ccp-crypto module:
    
    alg: skcipher: cfb-aes-ccp encryption failed with err -22 on test vector 3, cfg="in-place"
    
    Update the CCP crypto driver to correctly treat CFB as a streaming mode
    cipher (instead of block mode). Update the configuration for CFB to
    specify the block size as a single byte;
    
    Fixes: 2b789435d7f3 ('crypto: ccp - CCP AES crypto API support')
    
    Signed-off-by: Gary R Hook <gary.hook@amd.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a3242e49d3135c7a173d3808ed7eb12e6e406f3e
Author: Christophe Leroy <christophe.leroy@c-s.fr>
Date:   Wed May 22 11:00:36 2019 +0000

    spi: spi-fsl-spi: call spi_finalize_current_message() at the end
    
    [ Upstream commit 44a042182cb1e9f7916e015c836967bf638b33c4 ]
    
    spi_finalize_current_message() shall be called once all
    actions are finished, otherwise the last actions might
    step over a newly started transfer.
    
    Fixes: c592becbe704 ("spi: fsl-(e)spi: migrate to generic master queueing")
    Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 68de8abd966fd95a5846cd9f4ae6b3234af69774
Author: Sagiv Ozeri <sagiv.ozeri@marvell.com>
Date:   Mon May 20 12:33:20 2019 +0300

    RDMA/qedr: Fix incorrect device rate.
    
    [ Upstream commit 69054666df0a9b4e8331319f98b6b9a88bc3fcc4 ]
    
    Use the correct enum value introduced in commit 12113a35ada6 ("IB/core:
    Add HDR speed enum") Prior to this change a 50Gbps port would show 40Gbps.
    
    This patch also cleaned up the redundant redefiniton of ib speeds for
    qedr.
    
    Fixes: 12113a35ada6 ("IB/core: Add HDR speed enum")
    Signed-off-by: Sagiv Ozeri <sagiv.ozeri@marvell.com>
    Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6f2cf137cdd8ae9b7c9fefd0b2816965283f6329
Author: Jerome Brunet <jbrunet@baylibre.com>
Date:   Thu Apr 18 14:27:09 2019 +0200

    arm64: dts: meson: libretech-cc: set eMMC as removable
    
    [ Upstream commit 9f72e321d5506fe3e162a6308a4a295d7f10bb5d ]
    
    The eMMC on this board is add-on module which is not mandatory. Removing
    'non-removable' property should prevent some errors when booting a board
    w/o an eMMC module present.
    
    Fixes: 72fb2c852188 ("ARM64: dts: meson-gxl-s905x-libretech-cc: fixup board definition")
    Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
    Reviewed-by: Martin Blumenstingl<martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit da5c35fe45c46bbc2449615b92eccbec2c8a965b
Author: Jon Hunter <jonathanh@nvidia.com>
Date:   Thu May 16 16:53:52 2019 +0100

    dmaengine: tegra210-adma: Fix crash during probe
    
    [ Upstream commit b53611fb1ce9b1786bd18205473e0c1d6bfa8934 ]
    
    Commit f33e7bb3eb92 ("dmaengine: tegra210-adma: restore channel status")
    added support to save and restore the DMA channel registers when runtime
    suspending the ADMA. This change is causing the kernel to crash when
    probing the ADMA, if the device is probed deferred when looking up the
    channel interrupts. The crash occurs because not all of the channel base
    addresses have been setup at this point and in the clean-up path of the
    probe, pm_runtime_suspend() is called invoking its callback which
    expects all the channel base addresses to be initialised.
    
    Although this could be fixed by simply checking for a NULL address, on
    further review of the driver it seems more appropriate that we only call
    pm_runtime_get_sync() after all the channel interrupts and base
    addresses have been configured. Therefore, fix this crash by moving the
    calls to pm_runtime_enable(), pm_runtime_get_sync() and
    tegra_adma_init() after the DMA channels have been initialised.
    
    Fixes: f33e7bb3eb92 ("dmaengine: tegra210-adma: restore channel status")
    
    Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cbd69e7ae16d41c3079409e4f1861246e9655dbd
Author: Jerome Brunet <jbrunet@baylibre.com>
Date:   Mon May 13 14:31:11 2019 +0200

    clk: meson: axg: spread spectrum is on mpll2
    
    [ Upstream commit dc4e62d373f881cbf51513296a6db7806516a01a ]
    
    After testing, it appears that the SSEN bit controls the spread
    spectrum function on MPLL2, not MPLL0.
    
    Fixes: 78b4af312f91 ("clk: meson-axg: add clock controller drivers")
    Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3dffd74823e0a05c9fc82f9c7bfd136526a28e38
Author: Jerome Brunet <jbrunet@baylibre.com>
Date:   Mon May 13 14:31:10 2019 +0200

    clk: meson: gxbb: no spread spectrum on mpll0
    
    [ Upstream commit 8925dbd03bb29b1b0de30ac4e02c18faf8ddc9db ]
    
    The documentation says there is an SSEN bit on mpll0 but, after testing
    it, no spread spectrum function appears to be enabled by this bit on any
    of the MPLLs.
    
    Let's remove it until we know more
    
    Fixes: 1f737ffa13ef ("clk: meson: mpll: fix mpll0 fractional part ignored")
    Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit dd5ae74c033fcb537dc36645b7418bc5ce347ec0
Author: Jernej Skrabec <jernej.skrabec@siol.net>
Date:   Sat May 18 17:40:14 2019 +0200

    ARM: dts: sun8i-h3: Fix wifi in Beelink X2 DT
    
    [ Upstream commit ca0961011db57e39880df0b5708df8aa3339dc6f ]
    
    mmc1 node where wifi module is connected doesn't have properly defined
    power supplies so wifi module is never powered up. Fix that by
    specifying additional power supplies.
    
    Additionally, this STB may have either Realtek or Broadcom based wifi
    module. One based on Broadcom module also needs external clock to work
    properly. Fix that by adding clock property to wifi_pwrseq node.
    
    Fixes: e582b47a9252 ("ARM: dts: sun8i-h3: Add dts for the Beelink X2 STB")
    Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2d4979582b015baaf8e94e1458525efdb81c3509
Author: David Howells <dhowells@redhat.com>
Date:   Fri May 10 23:14:41 2019 +0100

    afs: Fix double inc of vnode->cb_break
    
    [ Upstream commit fd711586bb7d63f257da5eff234e68c446ac35ea ]
    
    When __afs_break_callback() clears the CB_PROMISED flag, it increments
    vnode->cb_break to trigger a future refetch of the status and callback -
    however it also calls afs_clear_permits(), which also increments
    vnode->cb_break.
    
    Fix this by removing the increment from afs_clear_permits().
    
    Whilst we're at it, fix the conditional call to afs_put_permits() as the
    function checks to see if the argument is NULL, so the check is redundant.
    
    Fixes: be080a6f43c4 ("afs: Overhaul permit caching");
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 98f5ce7e313e6475a2a32c93728084fe089c6364
Author: David Howells <dhowells@redhat.com>
Date:   Fri May 10 23:03:31 2019 +0100

    afs: Fix lock-wait/callback-break double locking
    
    [ Upstream commit c7226e407b6065d3bda8bd9dc627663d2c505ea3 ]
    
    __afs_break_callback() holds vnode->lock around its call of
    afs_lock_may_be_available() - which also takes that lock.
    
    Fix this by not taking the lock in __afs_break_callback().
    
    Also, there's no point checking the granted_locks and pending_locks queues;
    it's sufficient to check lock_state, so move that check out of
    afs_lock_may_be_available() into __afs_break_callback() to replace the
    queue checks.
    
    Fixes: e8d6c554126b ("AFS: implement file locking")
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2fd90073c88ddffd603ab2d4c952c2f8a11ea041
Author: David Howells <dhowells@redhat.com>
Date:   Tue May 14 11:52:03 2019 +0100

    afs: Don't invalidate callback if AFS_VNODE_DIR_VALID not set
    
    [ Upstream commit d9052dda8a39069312218f913d22d99c48d90004 ]
    
    Don't invalidate the callback promise on a directory if the
    AFS_VNODE_DIR_VALID flag is not set (which indicates that the directory
    contents are invalid, due to edit failure, callback break, page reclaim).
    
    The directory will be reloaded next time the directory is accessed, so
    clearing the callback flag at this point may race with a reload of the
    directory and cancel it's recorded callback promise.
    
    Fixes: f3ddee8dc4e2 ("afs: Fix directory handling")
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f1e807d39288d39bc157323dc580784d91366f65
Author: David Howells <dhowells@redhat.com>
Date:   Wed May 15 12:09:17 2019 +0100

    afs: Fix key leak in afs_release() and afs_evict_inode()
    
    [ Upstream commit a1b879eefc2b34cd3f17187ef6fc1cf3960e9518 ]
    
    Fix afs_release() to go through the cleanup part of the function if
    FMODE_WRITE is set rather than exiting through vfs_fsync() (which skips the
    cleanup).  The cleanup involves discarding the refs on the key used for
    file ops and the writeback key record.
    
    Also fix afs_evict_inode() to clean up any left over wb keys attached to
    the inode/vnode when it is removed.
    
    Fixes: 5a8132761609 ("afs: Do better accretion of small writes on newly created content")
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a0a4643f1899b6f9339957d3c7c8e749735be494
Author: Robert Richter <rrichter@marvell.com>
Date:   Tue May 14 10:49:09 2019 +0000

    EDAC/mc: Fix edac_mc_find() in case no device is found
    
    [ Upstream commit 29a0c843973bc385918158c6976e4dbe891df969 ]
    
    The function should return NULL in case no device is found, but it
    always returns the last checked mc device from the list even if the
    index did not match. Fix that.
    
    I did some analysis why this did not raise any issues for about 3 years
    and the reason is that edac_mc_find() is mostly used to search for
    existing devices. Thus, the bug is not triggered.
    
     [ bp: Drop the if (mci->mc_idx > idx) test in favor of readability. ]
    
    Fixes: c73e8833bec5 ("EDAC, mc: Fix locking around mc_devices list")
    Signed-off-by: Robert Richter <rrichter@marvell.com>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Cc: "linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>
    Cc: James Morse <james.morse@arm.com>
    Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
    Link: https://lkml.kernel.org/r/20190514104838.15065-1-rrichter@marvell.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 60b6fd81e218f2dcecd0590670a377e59bd6c34c
Author: Matthias Kaehlcke <mka@chromium.org>
Date:   Thu May 2 11:32:38 2019 -0700

    thermal: cpu_cooling: Actually trace CPU load in thermal_power_cpu_get_power
    
    [ Upstream commit bf45ac18b78038e43af3c1a273cae4ab5704d2ce ]
    
    The CPU load values passed to the thermal_power_cpu_get_power
    tracepoint are zero for all CPUs, unless, unless the
    thermal_power_cpu_limit tracepoint is enabled too:
    
      irq/41-rockchip-98    [000] ....   290.972410: thermal_power_cpu_get_power:
      cpus=0000000f freq=1800000 load={{0x0,0x0,0x0,0x0}} dynamic_power=4815
    
    vs
    
      irq/41-rockchip-96    [000] ....    95.773585: thermal_power_cpu_get_power:
      cpus=0000000f freq=1800000 load={{0x56,0x64,0x64,0x5e}} dynamic_power=4959
      irq/41-rockchip-96    [000] ....    95.773596: thermal_power_cpu_limit:
      cpus=0000000f freq=408000 cdev_state=10 power=416
    
    There seems to be no good reason for omitting the CPU load information
    depending on another tracepoint. My guess is that the intention was to
    check whether thermal_power_cpu_get_power is (still) enabled, however
    'load_cpu != NULL' already indicates that it was at least enabled when
    cpufreq_get_requested_power() was entered, there seems little gain
    from omitting the assignment if the tracepoint was just disabled, so
    just remove the check.
    
    Fixes: 6828a4711f99 ("thermal: add trace events to the power allocator governor")
    Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
    Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Acked-by: Javi Merino <javi.merino@kernel.org>
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2f766153f986dc96ded51b29d6c864b1fcac1710
Author: Jiada Wang <jiada_wang@mentor.com>
Date:   Wed Apr 24 14:11:44 2019 +0900

    thermal: rcar_gen3_thermal: fix interrupt type
    
    [ Upstream commit 2c0928c9e004589dc9e7672c40a38d6c4ca12701 ]
    
    Currently IRQF_SHARED type interrupt line is allocated, but it
    is not appropriate, as the interrupt line isn't shared between
    different devices, instead IRQF_ONESHOT is the proper type.
    
    By changing interrupt type to IRQF_ONESHOT, now irq handler is
    no longer needed, as clear of interrupt status can be done in
    threaded interrupt context.
    
    Because IRQF_ONESHOT type interrupt line is kept disabled until
    the threaded handler has been run, so there is no need to protect
    read/write of REG_GEN3_IRQSTR with lock.
    
    Fixes: 7d4b269776ec6 ("enable hardware interrupts for trip points")
    Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Tested-by: Simon Horman <horms+renesas@verge.net.au>
    Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8aba42a13a3a3a51a927f647228457506b8e633a
Author: Brian Masney <masneyb@onstation.org>
Date:   Wed Apr 24 05:25:03 2019 -0400

    backlight: lm3630a: Return 0 on success in update_status functions
    
    [ Upstream commit d3f48ec0954c6aac736ab21c34a35d7554409112 ]
    
    lm3630a_bank_a_update_status() and lm3630a_bank_b_update_status()
    both return the brightness value if the brightness was successfully
    updated. Writing to these attributes via sysfs would cause a 'Bad
    address' error to be returned. These functions should return 0 on
    success, so let's change it to correct that error.
    
    Fixes: 28e64a68a2ef ("backlight: lm3630: apply chip revision")
    Signed-off-by: Brian Masney <masneyb@onstation.org>
    Acked-by: Pavel Machek <pavel@ucw.cz>
    Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1f791d99e8d6ff04f1e55b278c11ba7c049c155f
Author: Florian Westphal <fw@strlen.de>
Date:   Sun May 12 20:42:37 2019 +0200

    netfilter: nf_tables: correct NFT_LOGLEVEL_MAX value
    
    [ Upstream commit 92285a079eedfe104a773a7c4293f77a01f456fb ]
    
    should be same as NFT_LOGLEVEL_AUDIT, so use -, not +.
    
    Fixes: 7eced5ab5a73 ("netfilter: nf_tables: add NFT_LOGLEVEL_* enumeration and use it")
    Signed-off-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9245e019e53c29b4af8efd7536c5366fc1f0e7a5
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Mon May 6 15:50:18 2019 +0300

    kdb: do a sanity check on the cpu in kdb_per_cpu()
    
    [ Upstream commit b586627e10f57ee3aa8f0cfab0d6f7dc4ae63760 ]
    
    The "whichcpu" comes from argv[3].  The cpu_online() macro looks up the
    cpu in a bitmap of online cpus, but if the value is too high then it
    could read beyond the end of the bitmap and possibly Oops.
    
    Fixes: 5d5314d6795f ("kdb: core for kgdb back end (1 of 2)")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Douglas Anderson <dianders@chromium.org>
    Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 69ca8d1b93760995ea00a250d2d034fa1dd7461a
Author: Jiong Wang <jiong.wang@netronome.com>
Date:   Tue May 7 17:41:30 2019 +0100

    nfp: bpf: fix static check error through tightening shift amount adjustment
    
    [ Upstream commit 69e168ebdcfcb87ce7252d4857d570f99996fa27 ]
    
    NFP shift instruction has something special. If shift direction is left
    then shift amount of 1 to 31 is specified as 32 minus the amount to shift.
    
    But no need to do this for indirect shift which has shift amount be 0. Even
    after we do this subtraction, shift amount 0 will be turned into 32 which
    will eventually be encoded the same as 0 because only low 5 bits are
    encoded, but shift amount be 32 will fail the FIELD_PREP check done later
    on shift mask (0x1f), due to 32 is out of mask range. Such error has been
    observed when compiling nfp/bpf/jit.c using gcc 8.3 + O3.
    
    This issue has started when indirect shift support added after which the
    incoming shift amount to __emit_shf could be 0, therefore it is at that
    time shift amount adjustment inside __emit_shf should have been tightened.
    
    Fixes: 991f5b3651f6 ("nfp: bpf: support logic indirect shifts (BPF_[L|R]SH | BPF_X)")
    Reported-by: Oleksandr Natalenko <oleksandr@natalenko.name>
    Reported-by: Pablo Cascón <pablo.cascon@netronome.com
    Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
    Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: Jiong Wang <jiong.wang@netronome.com>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 80c33da1c125c0593c31e196fc0d0cacb05d70b8
Author: Russell King <rmk+kernel@armlinux.org.uk>
Date:   Sat Apr 27 22:43:49 2019 +0100

    ARM: riscpc: fix lack of keyboard interrupts after irq conversion
    
    [ Upstream commit 63a0666bca9311f35017be454587f3ba903644b8 ]
    
    Fix lack of keyboard interrupts for RiscPC due to incorrect conversion.
    
    Fixes: e8d36d5dbb6a ("ARM: kill off set_irq_flags usage")
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e2db9f3a36eb12860135b07f37fb181172998c1f
Author: Bichao Zheng <bichao.zheng@amlogic.com>
Date:   Mon Apr 1 20:18:17 2019 +0200

    pwm: meson: Don't disable PWM when setting duty repeatedly
    
    [ Upstream commit a279345807e1e0ae79567a52cfdd9d30c9174a3c ]
    
    There is an abnormally low about 20ms,when setting duty repeatedly.
    Because setting the duty will disable PWM and then enable. Delete
    this operation now.
    
    Fixes: 211ed630753d2f ("pwm: Add support for Meson PWM Controller")
    Signed-off-by: Bichao Zheng <bichao.zheng@amlogic.com>
    [ Dropped code instead of hiding it behind a comment ]
    Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
    Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8d029e818d2dfb59de03b22924bd7d8b731a649f
Author: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date:   Mon Apr 1 20:18:16 2019 +0200

    pwm: meson: Consider 128 a valid pre-divider
    
    [ Upstream commit 51496e4446875726d50a5617a6e0e0dabbc2e6da ]
    
    The pre-divider allows configuring longer PWM periods compared to using
    the input clock directly. The pre-divider is 7 bit wide, meaning it's
    maximum value is 128 (the register value is off-by-one: 0x7f or 127).
    
    Change the loop to also allow for the maximum possible value to be
    considered valid.
    
    Fixes: 211ed630753d2f ("pwm: Add support for Meson PWM Controller")
    Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
    Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 909021aed81180c68337ea1963b119af50efb284
Author: Florian Westphal <fw@strlen.de>
Date:   Sun May 5 18:47:33 2019 +0200

    netfilter: ebtables: CONFIG_COMPAT: reject trailing data after last rule
    
    [ Upstream commit 680f6af5337c98d116e4f127cea7845339dba8da ]
    
    If userspace provides a rule blob with trailing data after last target,
    we trigger a splat, then convert ruleset to 64bit format (with trailing
    data), then pass that to do_replace_finish() which then returns -EINVAL.
    
    Erroring out right away avoids the splat plus unneeded translation and
    error unwind.
    
    Fixes: 81e675c227ec ("netfilter: ebtables: add CONFIG_COMPAT support")
    Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
    Signed-off-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d4731bef53ba62ea55863cf7f2ebfd94e01b9c0c
Author: Iuliana Prodan <iuliana.prodan@nxp.com>
Date:   Tue May 7 16:37:03 2019 +0300

    crypto: caam - fix caam_dump_sg that iterates through scatterlist
    
    [ Upstream commit 8c65d35435e8cbfdf953cafe5ebe3648ee9276a2 ]
    
    Fix caam_dump_sg by correctly determining the next scatterlist
    entry in the list.
    
    Fixes: 5ecf8ef9103c ("crypto: caam - fix sg dump")
    Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
    Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fc075cc562de4aad00c8cbdb58f2459fe240c6e7
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Apr 24 12:44:18 2019 +0300

    platform/x86: alienware-wmi: printing the wrong error code
    
    [ Upstream commit 6d1f8b3d75419a8659ac916a1e9543bb3513a882 ]
    
    The "out_data" variable is uninitialized at the point.  Originally, this
    used to print "status" instead and that seems like the correct thing to
    print.
    
    Fixes: bc2ef884320b ("alienware-wmi: For WMAX HDMI method, introduce a way to query HDMI cable status")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Mario Limonciello <mario.limonciello@dell.com>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8276749b388f5f989676a0d316325db5ccf4292b
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Apr 24 05:46:27 2019 -0400

    media: davinci/vpbe: array underflow in vpbe_enum_outputs()
    
    [ Upstream commit b72845ee5577b227131b1fef23f9d9a296621d7b ]
    
    In vpbe_enum_outputs() we check if (temp_index >= cfg->num_outputs) but
    the problem is that "temp_index" can be negative.  This patch changes
    the types to unsigned to address this array underflow bug.
    
    Fixes: 66715cdc3224 ("[media] davinci vpbe: VPBE display driver")
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: "Lad, Prabhakar" <prabhakar.csengg@gmail.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c45bf72af1f5aede265f0a99c394e34ea4b1b3b1
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu Apr 11 05:01:57 2019 -0400

    media: omap_vout: potential buffer overflow in vidioc_dqbuf()
    
    [ Upstream commit dd6e2a981bfe83aa4a493143fd8cf1edcda6c091 ]
    
    The "b->index" is a u32 the comes from the user in the ioctl.  It hasn't
    been checked.  We aren't supposed to use it but we're instead supposed
    to use the value that gets written to it when we call videobuf_dqbuf().
    
    The videobuf_dqbuf() first memsets it to zero and then re-initializes it
    inside the videobuf_status() function.  It's this final value which we
    want.
    
    Hans Verkuil pointed out that we need to check the return from
    videobuf_dqbuf().  I ended up doing a little cleanup related to that as
    well.
    
    Fixes: 72915e851da9 ("[media] V4L2: OMAP: VOUT: dma map and unmap v4l2 buffers in qbuf and dqbuf")
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f94e6d7c312db65568277db3c17263836ba69fe5
Author: Takashi Iwai <tiwai@suse.de>
Date:   Wed May 8 14:45:38 2019 +0200

    ALSA: aica: Fix a long-time build breakage
    
    [ Upstream commit 534420c6ff87d3052540f1fd346e0adcff440819 ]
    
    The build of aica sound driver has been broken since the timer API
    conversion and some code rewrite.  This patch fixes the breakage by
    using the common substream field, as well as a bit cleaning up wrt the
    timer handling in the code.
    
    Fixes: d522bb6a105f ("ALSA: sh: aica: Convert timers to use timer_setup()")
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2f11aba20728694486845e5680c33c664be0e583
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Mon May 6 22:44:04 2019 +0800

    l2tp: Fix possible NULL pointer dereference
    
    [ Upstream commit 638a3a1e349ddf5b82f222ff5cb3b4f266e7c278 ]
    
    BUG: unable to handle kernel NULL pointer dereference at 0000000000000128
    PGD 0 P4D 0
    Oops: 0000 [#1
    CPU: 0 PID: 5697 Comm: modprobe Tainted: G        W         5.1.0-rc7+ #1
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.9.3-0-ge2fc41e-prebuilt.qemu-project.org 04/01/2014
    RIP: 0010:__lock_acquire+0x53/0x10b0
    Code: 8b 1c 25 40 5e 01 00 4c 8b 6d 10 45 85 e4 0f 84 bd 06 00 00 44 8b 1d 7c d2 09 02 49 89 fe 41 89 d2 45 85 db 0f 84 47 02 00 00 <48> 81 3f a0 05 70 83 b8 00 00 00 00 44 0f 44 c0 83 fe 01 0f 86 3a
    RSP: 0018:ffffc90001c07a28 EFLAGS: 00010002
    RAX: 0000000000000000 RBX: ffff88822f038440 RCX: 0000000000000000
    RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000128
    RBP: ffffc90001c07a88 R08: 0000000000000001 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000001
    R13: 0000000000000000 R14: 0000000000000128 R15: 0000000000000000
    FS:  00007fead0811540(0000) GS:ffff888237a00000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 0000000000000128 CR3: 00000002310da000 CR4: 00000000000006f0
    Call Trace:
     ? __lock_acquire+0x24e/0x10b0
     lock_acquire+0xdf/0x230
     ? flush_workqueue+0x71/0x530
     flush_workqueue+0x97/0x530
     ? flush_workqueue+0x71/0x530
     l2tp_exit_net+0x170/0x2b0 [l2tp_core
     ? l2tp_exit_net+0x93/0x2b0 [l2tp_core
     ops_exit_list.isra.6+0x36/0x60
     unregister_pernet_operations+0xb8/0x110
     unregister_pernet_device+0x25/0x40
     l2tp_init+0x55/0x1000 [l2tp_core
     ? 0xffffffffa018d000
     do_one_initcall+0x6c/0x3cc
     ? do_init_module+0x22/0x1f1
     ? rcu_read_lock_sched_held+0x97/0xb0
     ? kmem_cache_alloc_trace+0x325/0x3b0
     do_init_module+0x5b/0x1f1
     load_module+0x1db1/0x2690
     ? m_show+0x1d0/0x1d0
     __do_sys_finit_module+0xc5/0xd0
     __x64_sys_finit_module+0x15/0x20
     do_syscall_64+0x6b/0x1d0
     entry_SYSCALL_64_after_hwframe+0x49/0xbe
    RIP: 0033:0x7fead031a839
    Code: 00 f3 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 1f f6 2c 00 f7 d8 64 89 01 48
    RSP: 002b:00007ffe8d9acca8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
    RAX: ffffffffffffffda RBX: 0000560078398b80 RCX: 00007fead031a839
    RDX: 0000000000000000 RSI: 000056007659dc2e RDI: 0000000000000003
    RBP: 000056007659dc2e R08: 0000000000000000 R09: 0000560078398b80
    R10: 0000000000000003 R11: 0000000000000246 R12: 0000000000000000
    R13: 00005600783a04a0 R14: 0000000000040000 R15: 0000560078398b80
    Modules linked in: l2tp_core(+) e1000 ip_tables ipv6 [last unloaded: l2tp_core
    CR2: 0000000000000128
    ---[ end trace 8322b2b8bf83f8e1
    
    If alloc_workqueue fails in l2tp_init, l2tp_net_ops
    is unregistered on failure path. Then l2tp_exit_net
    is called which will flush NULL workqueue, this patch
    add a NULL check to fix it.
    
    Fixes: 67e04c29ec0d ("l2tp: unregister l2tp_net_ops on failure path")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Acked-by: Guillaume Nault <gnault@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5babded4449053ec490a1dd687ebd03c04548bd7
Author: Parav Pandit <parav@mellanox.com>
Date:   Tue Apr 30 17:49:33 2019 -0500

    vfio/mdev: Fix aborting mdev child device removal if one fails
    
    [ Upstream commit 6093e348a5e2475c5bb2e571346460f939998670 ]
    
    device_for_each_child() stops executing callback function for remaining
    child devices, if callback hits an error.
    Each child mdev device is independent of each other.
    While unregistering parent device, mdev core must remove all child mdev
    devices.
    Therefore, mdev_device_remove_cb() always returns success so that
    device_for_each_child doesn't abort if one child removal hits error.
    
    While at it, improve remove and unregister functions for below simplicity.
    
    There isn't need to pass forced flag pointer during mdev parent
    removal which invokes mdev_device_remove(). So simplify the flow.
    
    mdev_device_remove() is called from two paths.
    1. mdev_unregister_driver()
         mdev_device_remove_cb()
           mdev_device_remove()
    2. remove_store()
         mdev_device_remove()
    
    Fixes: 7b96953bc640 ("vfio: Mediated device Core driver")
    Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
    Signed-off-by: Parav Pandit <parav@mellanox.com>
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 09dbc7e408dc9ade20255148ba0c0cd395acb31e
Author: Parav Pandit <parav@mellanox.com>
Date:   Tue Apr 30 17:49:32 2019 -0500

    vfio/mdev: Follow correct remove sequence
    
    [ Upstream commit a6d6f4f160f76d840e59affe664b8d3159e23056 ]
    
    mdev_remove_sysfs_files() should follow exact mirror sequence of a
    create, similar to what is followed in error unwinding path of
    mdev_create_sysfs_files().
    
    Fixes: 6a62c1dfb5c7 ("vfio/mdev: Re-order sysfs attribute creation")
    Reviewed-by: Cornelia Huck <cohuck@redhat.com>
    Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
    Signed-off-by: Parav Pandit <parav@mellanox.com>
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5c5492ee3e8c2b1656da012112496b65da21c55f
Author: Parav Pandit <parav@mellanox.com>
Date:   Tue Apr 30 17:49:28 2019 -0500

    vfio/mdev: Avoid release parent reference during error path
    
    [ Upstream commit 60e7f2c3fe9919cee9534b422865eed49f4efb15 ]
    
    During mdev parent registration in mdev_register_device(),
    if parent device is duplicate, it releases the reference of existing
    parent device.
    This is incorrect. Existing parent device should not be touched.
    
    Fixes: 7b96953bc640 ("vfio: Mediated device Core driver")
    Reviewed-by: Cornelia Huck <cohuck@redhat.com>
    Reviewed-by: Kirti Wankhede <kwankhede@nvidia.com>
    Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
    Signed-off-by: Parav Pandit <parav@mellanox.com>
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4dcb3d8ab2f90e689921747dcb26dc8c360da913
Author: David Howells <dhowells@redhat.com>
Date:   Wed May 1 13:27:09 2019 +0100

    afs: Fix the afs.cell and afs.volume xattr handlers
    
    [ Upstream commit c73aa4102f5b9f261a907c3b3df94cd2c478504d ]
    
    Fix the ->get handlers for the afs.cell and afs.volume xattrs to pass the
    source data size to memcpy() rather than target buffer size.
    
    Overcopying the source data occasionally causes the kernel to oops.
    
    Fixes: d3e3b7eac886 ("afs: Add metadata xattrs")
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6c5d98c80e56d45919094662a0502a5fb62b9fc9
Author: Rakesh Pillai <pillair@codeaurora.org>
Date:   Tue Apr 2 18:12:50 2019 +0530

    ath10k: Fix encoding for protected management frames
    
    [ Upstream commit 42f1bc43e6a97b9ddbe976eba9bd05306c990c75 ]
    
    Currently the protected management frames are
    not appended with the MIC_LEN which results in
    the protected management frames being encoded
    incorrectly.
    
    Add the extra space at the end of the protected
    management frames to fix this encoding error for
    the protected management frames.
    
    Tested HW: WCN3990
    Tested FW: WLAN.HL.3.1-00784-QCAHLSWMTPLZ-1
    
    Fixes: 1807da49733e ("ath10k: wmi: add management tx by reference support over wmi")
    Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit dd17dd35d73ca6ea60785db27cfd9c623ba96eb6
Author: Igor Konopko <igor.j.konopko@intel.com>
Date:   Sat May 4 20:37:59 2019 +0200

    lightnvm: pblk: fix lock order in pblk_rb_tear_down_check
    
    [ Upstream commit 486b5aac85f6ec0b2df3e82a6a629d5eb7804db5 ]
    
    In pblk_rb_tear_down_check() the spinlock functions are not
    called in proper order.
    
    Fixes: a4bd217 ("lightnvm: physical block device (pblk) target")
    Signed-off-by: Igor Konopko <igor.j.konopko@intel.com>
    Reviewed-by: Javier González <javier@javigon.com>
    Reviewed-by: Hans Holmberg <hans.holmberg@cnexlabs.com>
    Signed-off-by: Matias Bjørling <mb@lightnvm.io>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9dd9716052b2520d6b3e89964efe601791501c77
Author: Pan Bian <bianpan2016@163.com>
Date:   Wed Apr 17 16:28:37 2019 +0800

    mmc: core: fix possible use after free of host
    
    [ Upstream commit 8e1943af2986db42bee2b8dddf49a36cdb2e9219 ]
    
    In the function mmc_alloc_host, the function put_device is called to
    release allocated resources when mmc_gpio_alloc fails. Finally, the
    function pointed by host->class_dev.class->dev_release (i.e.,
    mmc_host_classdev_release) is used to release resources including the
    host structure. However, after put_device, host is used and released
    again. Resulting in a use-after-free bug.
    
    Fixes: 1ed217194488 ("mmc: core: fix error path in mmc_host_alloc")
    Signed-off-by: Pan Bian <bianpan2016@163.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit efe0c19618db13e354708c3ed7172a1e9753bd8a
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Sun Apr 7 08:29:35 2019 -0700

    watchdog: rtd119x_wdt: Fix remove function
    
    [ Upstream commit 8dd29f19512cc75ee470d7bb8ec86af199de23a8 ]
    
    The driver registers the watchdog with devm_watchdog_register_device() but
    still calls watchdog_unregister_device() on remove. Since clocks have to
    be stopped when removing the driver, after the watchdog device has been
    unregistered, we can not drop the call to watchdog_unregister_device().
    Use watchdog_register_device() to register the watchdog.
    
    Fixes: 2bdf6acbfead7 ("watchdog: Add Realtek RTD1295")
    Cc: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ef90724bad06e98f07ffd95a6294235ba59b8204
Author: Sameer Pujar <spujar@nvidia.com>
Date:   Thu May 2 18:25:17 2019 +0530

    dmaengine: tegra210-adma: restore channel status
    
    [ Upstream commit f33e7bb3eb922618612a90f0a828c790e8880773 ]
    
    Status of ADMA channel registers is not saved and restored during system
    suspend. During active playback if system enters suspend, this results in
    wrong state of channel registers during system resume and playback fails
    to resume properly. Fix this by saving following channel registers in
    runtime suspend and restore during runtime resume.
     * ADMA_CH_LOWER_SRC_ADDR
     * ADMA_CH_LOWER_TRG_ADDR
     * ADMA_CH_FIFO_CTRL
     * ADMA_CH_CONFIG
     * ADMA_CH_CTRL
     * ADMA_CH_CMD
     * ADMA_CH_TC
    Runtime PM calls will be inovked during system resume path if a playback
    or capture needs to be resumed. Hence above changes work fine for system
    suspend case.
    
    Fixes: f46b195799b5 ("dmaengine: tegra-adma: Add support for Tegra210 ADMA")
    Signed-off-by: Sameer Pujar <spujar@nvidia.com>
    Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9c52fe15403cb88ec816d7b14e61529c052f61a7
Author: Sameeh Jubran <sameehj@amazon.com>
Date:   Wed May 1 16:47:09 2019 +0300

    net: ena: fix ena_com_fill_hash_function() implementation
    
    [ Upstream commit 11bd7a00c0d8ffe33d1e926f8e789b4aea787186 ]
    
    ena_com_fill_hash_function() didn't configure the rss->hash_func.
    
    Fixes: 1738cd3ed342 ("net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)")
    Signed-off-by: Netanel Belgazal <netanel@amazon.com>
    Signed-off-by: Sameeh Jubran <sameehj@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e4efa947f9114a2734af2a6cc451d07e4e4de3cb
Author: Sameeh Jubran <sameehj@amazon.com>
Date:   Wed May 1 16:47:06 2019 +0300

    net: ena: fix incorrect test of supported hash function
    
    [ Upstream commit d3cfe7ddbc3dfbb9b201615b7fef8fd66d1b5fe8 ]
    
    ena_com_set_hash_function() tests if a hash function is supported
    by the device before setting it.
    The test returns the opposite result than needed.
    Reverse the condition to return the correct value.
    Also use the BIT macro instead of inline shift.
    
    Fixes: 1738cd3ed342 ("net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)")
    Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com>
    Signed-off-by: Sameeh Jubran <sameehj@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a3723323a817b558c4200b597ed941e0d35ba706
Author: Sameeh Jubran <sameehj@amazon.com>
Date:   Wed May 1 16:47:05 2019 +0300

    net: ena: fix: Free napi resources when ena_up() fails
    
    [ Upstream commit b287cdbd1cedfc9606682c6e02b58d00ff3a33ae ]
    
    ena_up() calls ena_init_napi() but does not call ena_del_napi() in
    case of failure. This causes a segmentation fault upon rmmod when
    netif_napi_del() is called. Fix this bug by calling ena_del_napi()
    before returning error from ena_up().
    
    Fixes: 1738cd3ed342 ("net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)")
    Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com>
    Signed-off-by: Sameeh Jubran <sameehj@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8d43e9564bcf8c3dcd565720742689ce529a7ffe
Author: Sameeh Jubran <sameehj@amazon.com>
Date:   Wed May 1 16:47:03 2019 +0300

    net: ena: fix swapped parameters when calling ena_com_indirect_table_fill_entry
    
    [ Upstream commit 3c6eeff295f01bdf1c6c3addcb0a04c0c6c029e9 ]
    
    second parameter should be the index of the table rather than the value.
    
    Fixes: 1738cd3ed342 ("net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)")
    Signed-off-by: Saeed Bshara <saeedb@amazon.com>
    Signed-off-by: Sameeh Jubran <sameehj@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5b824a6a43f0d782bf318ee782aadd2a59b09a9a
Author: Lu Baolu <baolu.lu@linux.intel.com>
Date:   Thu May 2 09:34:26 2019 +0800

    iommu/vt-d: Make kernel parameter igfx_off work with vIOMMU
    
    [ Upstream commit 5daab58043ee2bca861068e2595564828f3bc663 ]
    
    The kernel parameter igfx_off is used by users to disable
    DMA remapping for the Intel integrated graphic device. It
    was designed for bare metal cases where a dedicated IOMMU
    is used for graphic. This doesn't apply to virtual IOMMU
    case where an include-all IOMMU is used.  This makes the
    kernel parameter work with virtual IOMMU as well.
    
    Cc: Ashok Raj <ashok.raj@intel.com>
    Cc: Jacob Pan <jacob.jun.pan@linux.intel.com>
    Suggested-by: Kevin Tian <kevin.tian@intel.com>
    Fixes: c0771df8d5297 ("intel-iommu: Export a flag indicating that the IOMMU is used for iGFX.")
    Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
    Tested-by: Zhenyu Wang <zhenyuw@linux.intel.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b626b8340ec81ea57188868bf342b9f530cbeabf
Author: Parav Pandit <parav@mellanox.com>
Date:   Thu May 2 10:48:01 2019 +0300

    RDMA/rxe: Consider skb reserve space based on netdev of GID
    
    [ Upstream commit 3bf3e2b881c1412d0329ce9376dfe1518489b8fc ]
    
    Always consider the skb reserve space based on netdevice of the GID
    attribute, regardless of vlan or non vlan netdevice.
    
    Fixes: 43c9fc509fa5 ("rdma_rxe: make rxe work over 802.1q VLAN devices")
    Signed-off-by: Parav Pandit <parav@mellanox.com>
    Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6f9917be25ca3135a8929ba1ea8276ce0d6dcc9a
Author: Jack Morgenstein <jackm@dev.mellanox.co.il>
Date:   Wed May 1 08:38:30 2019 +0300

    IB/mlx5: Add missing XRC options to QP optional params mask
    
    [ Upstream commit 8f4426aa19fcdb9326ac44154a117b1a3a5ae126 ]
    
    The QP transition optional parameters for the various transition for XRC
    QPs are identical to those for RC QPs.
    
    Many of the XRC QP transition optional parameter bits are missing from the
    QP optional mask table.  These omissions caused failures when doing XRC QP
    state transitions.
    
    For example, when trying to change the response timer of an XRC receive QP
    via the RTS2RTS transition, the new timer value was ignored because
    MLX5_QP_OPTPAR_RNR_TIMEOUT bit was missing from the optional params mask
    for XRC qps for the RTS2RTS transition.
    
    Fix this by adding the missing XRC optional parameters for all QP
    transitions to the opt_mask table.
    
    Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
    Fixes: a4774e9095de ("IB/mlx5: Fix opt param mask according to firmware spec")
    Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
    Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ac4217eebe4d824686514965a2f3780f8dfc0c0a
Author: Minas Harutyunyan <minas.harutyunyan@synopsys.com>
Date:   Fri Feb 22 15:49:19 2019 +0400

    dwc2: gadget: Fix completed transfer size calculation in DDMA
    
    [ Upstream commit 5acb4b970184d189d901192d075997c933b82260 ]
    
    Fix calculation of transfer size on completion in function
    dwc2_gadget_get_xfersize_ddma().
    
    Added increment of descriptor pointer to move to next descriptor in
    the loop.
    
    Fixes: aa3e8bc81311 ("usb: dwc2: gadget: DDMA transfer start and complete")
    
    Signed-off-by: Minas Harutyunyan <hminas@synopsys.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 010b0e5100820c1c286ebe44cf0a5e2c57b6d67e
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Tue Apr 16 14:25:32 2019 +0200

    usb: gadget: fsl: fix link error against usb-gadget module
    
    [ Upstream commit 2100e3ca3676e894fa48b8f6f01d01733387fe81 ]
    
    The dependency to ensure this driver links correctly fails since
    it can not be a loadable module:
    
    drivers/usb/phy/phy-fsl-usb.o: In function `fsl_otg_set_peripheral':
    phy-fsl-usb.c:(.text+0x2224): undefined reference to `usb_gadget_vbus_disconnect'
    
    Make the option 'tristate' so it can work correctly.
    
    Fixes: 5a8d651a2bde ("usb: gadget: move gadget API functions to udc-core")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ecc81bd72b5e965db2b5c6adc26f985b5637ff9f
Author: Jerome Brunet <jbrunet@baylibre.com>
Date:   Mon Apr 29 11:47:49 2019 +0200

    ASoC: fix valid stream condition
    
    [ Upstream commit 6a7c59c6d9f3b280e81d7a04bbe4e55e90152dce ]
    
    A stream may specify a rate range using 'rate_min' and 'rate_max', so a
    stream may be valid and not specify any rates. However, as stream cannot
    be valid and not have any channel. Let's use this condition instead to
    determine if a stream is valid or not.
    
    Fixes: cde79035c6cf ("ASoC: Handle multiple codecs with split playback / capture")
    Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit abdea7a45abd8841015a3d625a38755defc9c448
Author: Willem de Bruijn <willemb@google.com>
Date:   Mon Apr 29 11:46:55 2019 -0400

    packet: in recvmsg msg_name return at least sizeof sockaddr_ll
    
    [ Upstream commit b2cf86e1563e33a14a1c69b3e508d15dc12f804c ]
    
    Packet send checks that msg_name is at least sizeof sockaddr_ll.
    Packet recv must return at least this length, so that its output
    can be passed unmodified to packet send.
    
    This ceased to be true since adding support for lladdr longer than
    sll_addr. Since, the return value uses true address length.
    
    Always return at least sizeof sockaddr_ll, even if address length
    is shorter. Zero the padding bytes.
    
    Change v1->v2: do not overwrite zeroed padding again. use copy_len.
    
    Fixes: 0fb375fb9b93 ("[AF_PACKET]: Allow for > 8 byte hardware addresses.")
    Suggested-by: David Laight <David.Laight@aculab.com>
    Signed-off-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0966e851df3bf3536b9f9703ca2de97afcbf27f5
Author: Adam Ford <aford173@gmail.com>
Date:   Tue Apr 30 07:47:44 2019 -0500

    ARM: dts: logicpd-som-lv: Fix MMC1 card detect
    
    [ Upstream commit 6a38df676a0a06bfc7ff8607ac62ccd6d95969ad ]
    
    The card detect pin was incorrectly using IRQ_TYPE_LEVEL_LOW
    instead of GPIO_ACTIVE_LOW when reading the state of the CD pin.
    
    This was previosly fixed on Torpedo, but missed on the SOM-LV
    
    Fixes: 5cb8b0fa55a9 ("ARM: dts: Move most of logicpd-som-lv-37xx-devkit.dts to logicpd-som-lv-baseboard.dtsi")
    Signed-off-by: Adam Ford <aford173@gmail.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 03b39facf64a37f5a00a1894814fde4388990275
Author: Srinath Mannam <srinath.mannam@broadcom.com>
Date:   Fri Apr 26 14:50:04 2019 +0530

    PCI: iproc: Enable iProc config read for PAXBv2
    
    [ Upstream commit 8cff995405eb0b563e7a0d2c49838611ea3f2692 ]
    
    iProc config read flag has to be enabled for PAXBv2 instead of PAXB.
    
    Fixes: f78e60a29d4f ("PCI: iproc: Reject unconfigured physical functions from PAXC")
    Signed-off-by: Srinath Mannam <srinath.mannam@broadcom.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: Ray Jui <ray.jui@broadcom.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8480fbeb0b8b3066433cec0e4040839c6def18ac
Author: Pablo Neira Ayuso <pablo@netfilter.org>
Date:   Mon Apr 29 11:54:56 2019 +0200

    netfilter: nft_flow_offload: add entry to flowtable after confirmation
    
    [ Upstream commit 270a8a297f42ecff82060aaa53118361f09c1f7d ]
    
    This is fixing flow offload for UDP traffic where packets only follow
    one single direction.
    
    The flow_offload_fixup_tcp() mechanism works fine in case that the
    offloaded entry remains in SYN_RECV state, given sequence tracking is
    reset and that conntrack handles syn+ack packets as a retransmission, ie.
    
            sES + synack => sIG
    
    for reply traffic.
    
    Fixes: a3c90f7a2323 ("netfilter: nf_tables: flow offload expression")
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 793946844694716630c862e608630bf90ec0cd5b
Author: Alexey Kardashevskiy <aik@ozlabs.ru>
Date:   Fri Mar 29 16:40:13 2019 +1100

    KVM: PPC: Book3S HV: Fix lockdep warning when entering the guest
    
    [ Upstream commit 3309bec85e60d60d6394802cb8e183a4f4a72def ]
    
    The trace_hardirqs_on() sets current->hardirqs_enabled and from here
    the lockdep assumes interrupts are enabled although they are remain
    disabled until the context switches to the guest. Consequent
    srcu_read_lock() checks the flags in rcu_lock_acquire(), observes
    disabled interrupts and prints a warning (see below).
    
    This moves trace_hardirqs_on/off closer to __kvmppc_vcore_entry to
    prevent lockdep from being confused.
    
    DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled)
    WARNING: CPU: 16 PID: 8038 at kernel/locking/lockdep.c:4128 check_flags.part.25+0x224/0x280
    [...]
    NIP [c000000000185b84] check_flags.part.25+0x224/0x280
    LR [c000000000185b80] check_flags.part.25+0x220/0x280
    Call Trace:
    [c000003fec253710] [c000000000185b80] check_flags.part.25+0x220/0x280 (unreliable)
    [c000003fec253780] [c000000000187ea4] lock_acquire+0x94/0x260
    [c000003fec253840] [c00800001a1e9768] kvmppc_run_core+0xa60/0x1ab0 [kvm_hv]
    [c000003fec253a10] [c00800001a1ed944] kvmppc_vcpu_run_hv+0x73c/0xec0 [kvm_hv]
    [c000003fec253ae0] [c00800001a1095dc] kvmppc_vcpu_run+0x34/0x48 [kvm]
    [c000003fec253b00] [c00800001a1056bc] kvm_arch_vcpu_ioctl_run+0x2f4/0x400 [kvm]
    [c000003fec253b90] [c00800001a0f3618] kvm_vcpu_ioctl+0x460/0x850 [kvm]
    [c000003fec253d00] [c00000000041c4f4] do_vfs_ioctl+0xe4/0x930
    [c000003fec253db0] [c00000000041ce04] ksys_ioctl+0xc4/0x110
    [c000003fec253e00] [c00000000041ce78] sys_ioctl+0x28/0x80
    [c000003fec253e20] [c00000000000b5a4] system_call+0x5c/0x70
    Instruction dump:
    419e0034 3d220004 39291730 81290000 2f890000 409e0020 3c82ffc6 3c62ffc5
    3884be70 386329c0 4bf6ea71 60000000 <0fe00000> 3c62ffc6 3863be90 4801273d
    irq event stamp: 1025
    hardirqs last  enabled at (1025): [<c00800001a1e9728>] kvmppc_run_core+0xa20/0x1ab0 [kvm_hv]
    hardirqs last disabled at (1024): [<c00800001a1e9358>] kvmppc_run_core+0x650/0x1ab0 [kvm_hv]
    softirqs last  enabled at (0): [<c0000000000f1210>] copy_process.isra.4.part.5+0x5f0/0x1d00
    softirqs last disabled at (0): [<0000000000000000>]           (null)
    ---[ end trace 31180adcc848993e ]---
    possible reason: unannotated irqs-off.
    irq event stamp: 1025
    hardirqs last  enabled at (1025): [<c00800001a1e9728>] kvmppc_run_core+0xa20/0x1ab0 [kvm_hv]
    hardirqs last disabled at (1024): [<c00800001a1e9358>] kvmppc_run_core+0x650/0x1ab0 [kvm_hv]
    softirqs last  enabled at (0): [<c0000000000f1210>] copy_process.isra.4.part.5+0x5f0/0x1d00
    softirqs last disabled at (0): [<0000000000000000>]           (null)
    
    Fixes: 8b24e69fc47e ("KVM: PPC: Book3S HV: Close race with testing for signals on guest entry", 2017-06-26)
    Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6d18ef401a405897c793817edc51d476232c0b29
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Wed Apr 17 14:44:42 2019 -0700

    scsi: qla2xxx: Avoid that qlt_send_resp_ctio() corrupts memory
    
    [ Upstream commit a861b49273578e255426a499842cf7f465456351 ]
    
    The "(&ctio->u.status1.sense_data)[i]" where i >= 0 expressions in
    qlt_send_resp_ctio() are probably typos and should have been
    "(&ctio->u.status1.sense_data[4 * i])" instead. Instead of only fixing
    these typos, modify the code for storing sense data such that it becomes
    easy to read. This patch fixes a Coverity complaint about accessing an
    array outside its bounds.
    
    Cc: Himanshu Madhani <hmadhani@marvell.com>
    Cc: Giridhar Malavali <gmalavali@marvell.com>
    Fixes: be25152c0d9e ("qla2xxx: Improve T10-DIF/PI handling in driver.") # v4.11.
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
    Acked-by: Himanshu Madhani <hmadhani@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fd9fb99bef72fbfb7af5c0e14560681c010a056a
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Wed Apr 17 14:44:27 2019 -0700

    scsi: qla2xxx: Fix error handling in qlt_alloc_qfull_cmd()
    
    [ Upstream commit c04466c17142d5eb566984372b9a5003d1900fe3 ]
    
    The test "if (!cmd)" is not useful because it is guaranteed that cmd !=
    NULL.  Instead of testing the cmd pointer, rely on the tag to decide
    whether or not command allocation failed.
    
    Cc: Himanshu Madhani <hmadhani@marvell.com>
    Cc: Giridhar Malavali <gmalavali@marvell.com>
    Fixes: 33e799775593 ("qla2xxx: Add support for QFull throttling and Term Exchange retry") # v3.18.
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
    Acked-by: Himanshu Madhani <hmadhani@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 02224992926983562a9181124881c3704be439b1
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Wed Apr 17 14:44:11 2019 -0700

    scsi: qla2xxx: Fix a format specifier
    
    [ Upstream commit 19ce192cd718e02f880197c0983404ca48236807 ]
    
    Since mcmd->sess->port_name is eight bytes long, use %8phC to format that
    port name instead of %phC.
    
    Cc: Himanshu Madhani <hmadhani@marvell.com>
    Cc: Giridhar Malavali <gmalavali@marvell.com>
    Fixes: 726b85487067 ("qla2xxx: Add framework for async fabric discovery") # v4.11.
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
    Acked-by: Himanshu Madhani <hmadhani@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit db7eb0fb41c1118b4c9332e55b2379d8f2f4be4f
Author: Hongbo Yao <yaohongbo@huawei.com>
Date:   Mon Apr 8 22:01:03 2019 +0800

    irqchip/gic-v3-its: fix some definitions of inner cacheability attributes
    
    [ Upstream commit 0f29456d08042134aff6e562d07a6365c841c4ad ]
    
    Some definitions of Inner Cacheability attibutes need to be corrected.
    
    Fixes: 8c828a535e29f ("irqchip/gicv3-its: Restore all cacheability attributes")
    Signed-off-by: Hongbo Yao <yaohongbo@huawei.com>
    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 232e674ed946ef27a26241db9dedbc4470eaa874
Author: Philipp Rudo <prudo@linux.ibm.com>
Date:   Mon Apr 1 12:13:42 2019 +0200

    s390/kexec_file: Fix potential segment overlap in ELF loader
    
    [ Upstream commit 6339a3889ad4d0dd930ed7a1e873fb81d3e690f7 ]
    
    When loading an ELF image via kexec_file the segment alignment is ignored
    in the calculation for the load address of the next segment. When there are
    multiple segments this can lead to segment overlap and thus load failure.
    
    Signed-off-by: Philipp Rudo <prudo@linux.ibm.com>
    Fixes: 8be018827154 ("s390/kexec_file: Add ELF loader")
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0701a1d6f101fd7658bc82b3a11941c01273a763
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Thu Apr 25 13:52:39 2019 -0600

    coresight: catu: fix clang build warning
    
    [ Upstream commit 59d63de076607a9334b11628b5c3ddda1d8f56cd ]
    
    Clang points out a syntax error, as the etr_catu_buf_ops structure is
    declared 'static' before the type is known:
    
    In file included from drivers/hwtracing/coresight/coresight-tmc-etr.c:12:
    drivers/hwtracing/coresight/coresight-catu.h:116:40: warning: tentative definition of variable with internal linkage has incomplete non-array type 'const struct etr_buf_operations' [-Wtentative-definition-incomplete-type]
    static const struct etr_buf_operations etr_catu_buf_ops;
                                           ^
    drivers/hwtracing/coresight/coresight-catu.h:116:21: note: forward declaration of 'struct etr_buf_operations'
    static const struct etr_buf_operations etr_catu_buf_ops;
    
    This seems worth fixing in the code, so replace pointer to the empty
    constant structure with a NULL pointer. We need an extra NULL pointer
    check here, but the result should be better object code otherwise,
    avoiding the silly empty structure.
    
    Fixes: 434d611cddef ("coresight: catu: Plug in CATU as a backend for ETR buffer")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
    [Fixed line over 80 characters]
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 89047634f5ce0289ca96b9e021bd9694cf82e956
Author: Trond Myklebust <trondmy@gmail.com>
Date:   Sun Apr 7 13:59:02 2019 -0400

    NFS: Don't interrupt file writeout due to fatal errors
    
    [ Upstream commit 14bebe3c90b326d2a0df78aed5e9de090c71d878 ]
    
    When flushing out dirty pages, the fact that we may hit fatal errors
    is not a reason to stop writeback. Those errors are reported through
    fsync(), not through the flush mechanism.
    
    Fixes: a6598813a4c5b ("NFS: Don't write back further requests if there...")
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e1f7bfbe9d18a4d640c5ebea91cab7fe83465e99
Author: David Howells <dhowells@redhat.com>
Date:   Thu Apr 25 14:26:50 2019 +0100

    afs: Further fix file locking
    
    [ Upstream commit 4be5975aea154e164696128d049dec9ed341585c ]
    
    Further fix the file locking in the afs filesystem client in a number of
    ways, including:
    
     (1) Don't submit the operation to obtain a lock from the server in a work
         queue context, but rather do it in the process context of whoever
         issued the requesting system call.
    
     (2) The owner of the file_lock struct at the front of the pending_locks
         queue now owns right to talk to the server.
    
     (3) Write locks can be instantly granted if they don't overlap with any
         other locks *and* we have a write lock on the server.
    
     (4) In the event of an authentication/permission error, all other matching
         pending locks requests are also immediately aborted.
    
     (5) Properly use VFS core locks_lock_file_wait() to distribute the server
         lock amongst local client locks, including waiting for the lock to
         become available.
    
    Test with:
    
            sqlite3 /afs/.../scratch/billings.sqlite <<EOF
            CREATE TABLE hosts (
                hostname varchar(80),
                shorthost varchar(80),
                room varchar(30),
                building varchar(30),
                PRIMARY KEY(shorthost)
                );
            EOF
    
    With the version of sqlite3 that I have, this should fail consistently with
    EAGAIN, whether or not the program is straced (which introduces some delays
    between lock syscalls).
    
    Fixes: 0fafdc9f888b ("afs: Fix file locking")
    Reported-by: Jonathan Billings <jsbillin@umich.edu>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 49862ce901e6bf98f5f5a264f90082bebceba5ca
Author: David Howells <dhowells@redhat.com>
Date:   Thu Apr 25 14:26:50 2019 +0100

    afs: Fix AFS file locking to allow fine grained locks
    
    [ Upstream commit 68ce801ffd82e72d5005ab5458e8b9e59f24d9cc ]
    
    Fix AFS file locking to allow fine grained locks as some applications, such
    as firefox, won't work if they can't take such locks on certain state files
    - thereby preventing the use of kAFS to distribute a home directory.
    
    Note that this cannot be made completely functional as the protocol only
    has provision for whole-file locks, so there exists the possibility of a
    process deadlocking itself by getting a partial read-lock on a file first
    and then trying to get a non-overlapping write-lock - but we got the
    server's read lock with the first lock, so we're now stuck.
    
    OpenAFS solves this by just granting any partial-range lock directly
    without consulting the server - and hoping there's no remote collision.  I
    want to implement that in a separate patch and it requires a bit more
    thought.
    
    Fixes: 8d6c554126b8 ("AFS: implement file locking")
    Reported-by: Jonathan Billings <jsbillings@jsbillings.org>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit adf1983a4f633d71c5245bb69c7e3cfd81da8e45
Author: Takashi Iwai <tiwai@suse.de>
Date:   Wed Apr 24 13:00:03 2019 +0200

    ALSA: usb-audio: Handle the error from snd_usb_mixer_apply_create_quirk()
    
    [ Upstream commit 328e9f6973be2ee67862cb17bf6c0c5c5918cd72 ]
    
    The error from snd_usb_mixer_apply_create_quirk() is ignored in the
    current usb-audio driver code, which will continue the probing even
    after the error.  Let's take it more serious.
    
    Fixes: 7b1eda223deb ("ALSA: usb-mixer: factor out quirks")
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 74cc8d4b53a35f3a4d1f5ec62a9f9f2dce34cb34
Author: Alexandru Ardelean <alexandru.ardelean@analog.com>
Date:   Tue Mar 26 16:05:20 2019 +0200

    dmaengine: axi-dmac: Don't check the number of frames for alignment
    
    [ Upstream commit 648865a79d8ee3d1aa64aab5eb2a9d12eeed14f9 ]
    
    In 2D transfers (for the AXI DMAC), the number of frames (numf) represents
    Y_LENGTH, and the length of a frame is X_LENGTH. 2D transfers are useful
    for video transfers where screen resolutions ( X * Y ) are typically
    aligned for X, but not for Y.
    
    There is no requirement for Y_LENGTH to be aligned to the bus-width (or
    anything), and this is also true for AXI DMAC.
    
    Checking the Y_LENGTH for alignment causes false errors when initiating DMA
    transfers. This change fixes this by checking only that the Y_LENGTH is
    non-zero.
    
    Fixes: 0e3b67b348b8 ("dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller")
    Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a23a2b5128fe28455ab8b043c906bcbd2beae094
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Apr 3 08:34:16 2019 +0300

    6lowpan: Off by one handling ->nexthdr
    
    [ Upstream commit f57c4bbf34439531adccd7d3a4ecc14f409c1399 ]
    
    NEXTHDR_MAX is 255.  What happens here is that we take a u8 value
    "hdr->nexthdr" from the network and then look it up in
    lowpan_nexthdr_nhcs[].  The problem is that if hdr->nexthdr is 0xff then
    we read one element beyond the end of the array so the array needs to
    be one element larger.
    
    Fixes: 92aa7c65d295 ("6lowpan: add generic nhc layer interface")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
    Acked-by: Alexander Aring <aring@mojatatu.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 34c1045fa81cab8707ed9eea50a7d279a5310524
Author: Akinobu Mita <akinobu.mita@gmail.com>
Date:   Sat Mar 30 10:01:32 2019 -0400

    media: ov2659: fix unbalanced mutex_lock/unlock
    
    [ Upstream commit 384538bda10913e5c94ec5b5d34bd3075931bcf4 ]
    
    Avoid returning with mutex locked.
    
    Fixes: fa8cb6444c32 ("[media] ov2659: Don't depend on subdev API")
    
    Cc: "Lad, Prabhakar" <prabhakar.csengg@gmail.com>
    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9e19a8703e9815e6ccd974e0605f8acce97b7edc
Author: Vladimir Oltean <olteanv@gmail.com>
Date:   Fri Apr 12 02:23:14 2019 +0300

    ARM: dts: ls1021: Fix SGMII PCS link remaining down after PHY disconnect
    
    [ Upstream commit c7861adbe37f576931650ad8ef805e0c47564b9a ]
    
    Each eTSEC MAC has its own TBI (SGMII) PCS and private MDIO bus.
    But due to a DTS oversight, both SGMII-compatible MACs of the LS1021 SoC
    are pointing towards the same internal PCS. Therefore nobody is
    controlling the internal PCS of eTSEC0.
    
    Upon initial ndo_open, the SGMII link is ok by virtue of U-boot
    initialization. But upon an ifdown/ifup sequence, the code path from
    ndo_open -> init_phy -> gfar_configure_serdes does not get executed for
    the PCS of eTSEC0 (and is executed twice for MAC eTSEC1). So the SGMII
    link remains down for eTSEC0. On the LS1021A-TWR board, to signal this
    failure condition, the PHY driver keeps printing
    '803x_aneg_done: SGMII link is not ok'.
    
    Also, it changes compatible of mdio0 to "fsl,etsec2-mdio" to match
    mdio1 device.
    
    Fixes: 055223d4d22d ("ARM: dts: ls1021a: Enable the eTSEC ports on QDS and TWR")
    Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
    Reviewed-by: Claudiu Manoil <claudiu.manoil@nxp.com>
    Acked-by: Li Yang <leoyang.li@nxp.com>
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7ca494ee327ed0ed3d0daf91fce13e264ade27d7
Author: Ben Hutchings <ben@decadent.org.uk>
Date:   Fri Mar 22 04:24:37 2019 +0000

    powerpc: vdso: Make vdso32 installation conditional in vdso_install
    
    [ Upstream commit ff6d27823f619892ab96f7461764840e0d786b15 ]
    
    The 32-bit vDSO is not needed and not normally built for 64-bit
    little-endian configurations.  However, the vdso_install target still
    builds and installs it.  Add the same config condition as is normally
    used for the build.
    
    Fixes: e0d005916994 ("powerpc/vdso: Disable building the 32-bit VDSO ...")
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 360dd5a7649ff18fc387104959542197cd530dad
Author: Jian Shen <shenjian15@huawei.com>
Date:   Fri Apr 19 11:05:41 2019 +0800

    net: hns3: fix loop condition of hns3_get_tx_timeo_queue_info()
    
    [ Upstream commit fa6c4084b98b82c98cada0f0d5c9f8577579f962 ]
    
    In function hns3_get_tx_timeo_queue_info(), it should use
    netdev->num_tx_queues, instead of netdve->real_num_tx_queues
    as the loop limitation.
    
    Fixes: 424eb834a9be ("net: hns3: Unified HNS3 {VF|PF} Ethernet Driver for hip08 SoC")
    Signed-off-by: Jian Shen <shenjian15@huawei.com>
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 938251ee1e23e91b51c5d2a2a31601fa487f85d7
Author: Kees Cook <keescook@chromium.org>
Date:   Mon Apr 8 10:13:44 2019 -0700

    selftests/ipc: Fix msgque compiler warnings
    
    [ Upstream commit a147faa96f832f76e772b1e448e94ea84c774081 ]
    
    This fixes the various compiler warnings when building the msgque
    selftest. The primary change is using sys/msg.h instead of linux/msg.h
    directly to gain the API declarations.
    
    Fixes: 3a665531a3b7 ("selftests: IPC message queue copy feature test")
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit da4c428a8209dcccb5b83ad4d4bae660e2adce76
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Tue Apr 16 22:07:52 2019 +0200

    usb: typec: tcpm: Notify the tcpc to start connection-detection for SRPs
    
    [ Upstream commit 7893f9e1c26d1f9ea02622902ee671de45ad377b ]
    
    Some tcpc device-drivers need to explicitly be told to watch for connection
    events, otherwise the tcpc will not generate any TCPM_CC_EVENTs and devices
    being plugged into the Type-C port will not be noticed.
    
    For dual-role ports tcpm_start_drp_toggling() is used to tell the tcpc to
    watch for connection events. Sofar we lack a similar callback to the tcpc
    for single-role ports. With some tcpc-s such as the fusb302 this means
    no TCPM_CC_EVENTs will be generated when the port is configured as a
    single-role port.
    
    This commit renames start_drp_toggling to start_toggling and since the
    device-properties are parsed by the tcpm-core, adds a port_type parameter
    to the start_toggling callback so that the tcpc_dev driver knows the
    port-type and can act accordingly when it starts toggling.
    
    The new start_toggling callback now always gets called if defined, instead
    of only being called for DRP ports.
    
    To avoid this causing undesirable functional changes all existing
    start_drp_toggling implementations are not only renamed to start_toggling,
    but also get a port_type check added and return -EOPNOTSUPP when port_type
    is not DRP.
    
    Fixes: ea3b4d5523bc("usb: typec: fusb302: Resolve fixed power role ...")
    Cc: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
    Tested-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f4e55515d1cf8c47519ef1b1ca7bb9dddbb7b6e1
Author: Jie Liu <liujie165@huawei.com>
Date:   Tue Apr 16 13:10:09 2019 +0800

    tipc: set sysctl_tipc_rmem and named_timeout right range
    
    [ Upstream commit 4bcd4ec1017205644a2697bccbc3b5143f522f5f ]
    
    We find that sysctl_tipc_rmem and named_timeout do not have the right minimum
    setting. sysctl_tipc_rmem should be larger than zero, like sysctl_tcp_rmem.
    And named_timeout as a timeout setting should be not less than zero.
    
    Fixes: cc79dd1ba9c10 ("tipc: change socket buffer overflow control to respect sk_rcvbuf")
    Fixes: a5325ae5b8bff ("tipc: add name distributor resiliency queue")
    Signed-off-by: Jie Liu <liujie165@huawei.com>
    Reported-by: Qiang Ning <ningqiang1@huawei.com>
    Reviewed-by: Zhiqiang Liu <liuzhiqiang26@huawei.com>
    Reviewed-by: Miaohe Lin <linmiaohe@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b6cb6f9f785e560c8a8b6837662698dbd70a489c
Author: Colin Ian King <colin.king@canonical.com>
Date:   Sat Mar 30 00:17:12 2019 +0000

    platform/x86: alienware-wmi: fix kfree on potentially uninitialized pointer
    
    [ Upstream commit 98e2630284ab741804bd0713e932e725466f2f84 ]
    
    Currently the kfree of output.pointer can be potentially freeing
    an uninitalized pointer in the case where out_data is NULL. Fix this
    by reworking the case where out_data is not-null to perform the
    ACPI status check and also the kfree of outpoint.pointer in one block
    and hence ensuring the pointer is only freed when it has been used.
    
    Also replace the if (ptr != NULL) idiom with just if (ptr).
    
    Fixes: ff0e9f26288d ("platform/x86: alienware-wmi: Correct a memory leak")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e60e2a29c891323445f05c33eccf4b78a9ec3989
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Mon Apr 1 09:48:01 2019 +0200

    soc: amlogic: meson-gx-pwrc-vpu: Fix power on/off register bitmask
    
    [ Upstream commit 2fe3b4bbc93ec30a173ebae7d2b8c530416df3af ]
    
    The register bitmask to power on/off the VPU memories was incorectly set
    to 0x2 instead of 0x3. While still working, let's use the recommended
    vendor value instead.
    
    Fixes: 75fcb5ca4b46 ("soc: amlogic: add Meson GX VPU Domains driver")
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1159872c91639a33d3f812d06e9dda08b71e3b1a
Author: Kishon Vijay Abraham I <kishon@ti.com>
Date:   Mon Mar 25 15:09:41 2019 +0530

    PCI: dwc: Fix dw_pcie_ep_find_capability() to return correct capability offset
    
    [ Upstream commit 421db1ab287eebe80fd203eb009ae92836c586ad ]
    
    commit beb4641a787d ("PCI: dwc: Add MSI-X callbacks handler") while
    adding MSI-X callback handler, introduced dw_pcie_ep_find_capability()
    and __dw_pcie_ep_find_next_cap() for finding the MSI and MSIX capability.
    
    However if MSI or MSIX capability is the last capability (i.e there are
    no additional items in the capabilities list and the Next Capability
    Pointer is set to '0'), __dw_pcie_ep_find_next_cap will return '0'
    even though MSI or MSIX capability may be present because of
    incorrect ordering of the "next_cap_ptr" check. Fix it.
    
    Fixes: beb4641a787d ("PCI: dwc: Add MSI-X callbacks handler")
    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 33bcee93f74f4fd9ad109c1b8097db8cb3cd8d9e
Author: Vincent Stehlé <vincent.stehle@laposte.net>
Date:   Sun Apr 14 17:37:26 2019 +0200

    staging: android: vsoc: fix copy_from_user overrun
    
    [ Upstream commit 060ea4271a82270be6d44e8e9aefe8f155fb5626 ]
    
    The `np->permission' structure is smaller than the `np' structure but
    sizeof(*np) worth of data is copied in there. Fix the size passed to
    copy_from_user() to avoid overrun.
    
    Fixes: 3d2ec9dcd553 ("staging: Android: Add 'vsoc' driver for cuttlefish.")
    Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d6ef9a8fd8977d13435df7cd06a867a3e2a2e0e7
Author: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Date:   Fri Mar 29 11:12:12 2019 +0200

    perf/core: Fix the address filtering fix
    
    [ Upstream commit 52a44f83fc2d64a5e74d5d685fad2fecc7b7a321 ]
    
    The following recent commit:
    
      c60f83b813e5 ("perf, pt, coresight: Fix address filters for vmas with non-zero offset")
    
    changes the address filtering logic to communicate filter ranges to the PMU driver
    via a single address range object, instead of having the driver do the final bit of
    math.
    
    That change forgets to take into account kernel filters, which are not calculated
    the same way as DSO based filters.
    
    Fix that by passing the kernel filters the same way as file-based filters.
    This doesn't require any additional changes in the drivers.
    
    Reported-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Vince Weaver <vincent.weaver@maine.edu>
    Fixes: c60f83b813e5 ("perf, pt, coresight: Fix address filters for vmas with non-zero offset")
    Link: https://lkml.kernel.org/r/20190329091212.29870-1-alexander.shishkin@linux.intel.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 597455cb36e5c2592c03d49c41a2e214ba199671
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Fri Apr 5 08:44:41 2019 -0700

    hwmon: (w83627hf) Use request_muxed_region for Super-IO accesses
    
    [ Upstream commit e95fd518d05bfc087da6fcdea4900a57cfb083bd ]
    
    Super-IO accesses may fail on a system with no or unmapped LPC bus.
    
    Also, other drivers may attempt to access the LPC bus at the same time,
    resulting in undefined behavior.
    
    Use request_muxed_region() to ensure that IO access on the requested
    address space is supported, and to ensure that access by multiple drivers
    is synchronized.
    
    Fixes: b72656dbc491 ("hwmon: (w83627hf) Stop using globals for I/O port numbers")
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b260dc8993ceb0df1b70492d3050c2f9ede5e1b1
Author: Yunsheng Lin <linyunsheng@huawei.com>
Date:   Mon Apr 15 21:48:39 2019 +0800

    net: hns3: fix for vport->bw_limit overflow problem
    
    [ Upstream commit 2566f10676ba996b745e138f54f3e2f974311692 ]
    
    When setting vport->bw_limit to hdev->tm_info.pg_info[0].bw_limit
    in hclge_tm_vport_tc_info_update, vport->bw_limit can be as big as
    HCLGE_ETHER_MAX_RATE (100000), which can not fit into u16 (65535).
    
    So this patch fixes it by using u32 for vport->bw_limit.
    
    Fixes: 848440544b41 ("net: hns3: Add support of TX Scheduler & Shaper to HNS3 driver")
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 80198980a2274409c8627e0e65b52dd51b5cf962
Author: Colin Ian King <colin.king@canonical.com>
Date:   Sat Mar 30 15:09:10 2019 +0000

    PCI: rockchip: Fix rockchip_pcie_ep_assert_intx() bitwise operations
    
    [ Upstream commit c577f4a5a08bb9677e12ddafb62e2f3a901de87f ]
    
    Currently the bitwise operations on the u16 variable 'status' with
    the setting ROCKCHIP_PCIE_EP_CMD_STATUS_IS are incorrect because
    ROCKCHIP_PCIE_EP_CMD_STATUS_IS is 1UL<<19 which is wider than the
    u16 variable.
    
    Fix this by making status a u32.
    
    Fixes: cf590b078391 ("PCI: rockchip: Add EP driver for Rockchip PCIe controller")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
    Acked-by: Shawn Lin <shawn.lin@rock-chips.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5d918cd203d4b4ef2e87c22e181a9a0341ca7f7e
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Tue Jan 29 16:03:24 2019 +0800

    ARM: pxa: ssp: Fix "WARNING: invalid free of devm_ allocated data"
    
    [ Upstream commit 9ee8578d953023cc57e7e736ae48502c707c0210 ]
    
    Since commit 1c459de1e645 ("ARM: pxa: ssp: use devm_ functions")
    kfree, iounmap, clk_put etc are not needed anymore in remove path.
    
    Fixes: 1c459de1e645 ("ARM: pxa: ssp: use devm_ functions")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    [ commit message spelling fix ]
    Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 10c588de85c1e94326e9dfa47cae4505fec53464
Author: Colin Ian King <colin.king@canonical.com>
Date:   Tue Apr 9 12:43:33 2019 +0100

    brcmfmac: fix leak of mypkt on error return path
    
    [ Upstream commit a927e8d8ab57e696800e20cf09a72b7dfe3bbebb ]
    
    Currently if the call to brcmf_sdiod_set_backplane_window fails then
    error return path leaks mypkt. Fix this by returning by a new
    error path labelled 'out' that calls brcmu_pkt_buf_free_skb to free
    mypkt.  Also remove redundant check on err before calling
    brcmf_sdiod_skbuff_write.
    
    Addresses-Coverity: ("Resource Leak")
    Fixes: a7c3aa1509e2 ("brcmfmac: Remove brcmf_sdiod_addrprep()")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 047b402d1ba3dad09070e4fb9acaf2c38a89ef0d
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Apr 2 12:58:05 2019 -0700

    scsi: target/core: Fix a race condition in the LUN lookup code
    
    [ Upstream commit 63f7479439c95bcd49b7dd4af809862c316c71a3 ]
    
    The rcu_dereference(deve->se_lun) expression occurs twice in the LUN lookup
    functions. Since these expressions are not serialized against deve->se_lun
    assignments each of these expressions may yield a different result. Avoid
    that the wrong LUN pointer is stored in se_cmd by reading deve->se_lun only
    once.
    
    Cc: Mike Christie <mchristi@redhat.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Hannes Reinecke <hare@suse.com>
    Cc: Nicholas Bellinger <nab@linux-iscsi.org>
    Fixes: 29a05deebf6c ("target: Convert se_node_acl->device_list[] to RCU hlist") # v4.10
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4d1f1f1cb0607b4f25ce978ad5f19c8705643981
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Fri Apr 12 16:34:16 2019 +0100

    rxrpc: Fix detection of out of order acks
    
    [ Upstream commit 1a2391c30c0b9d041bc340f68df81d49c53546cc ]
    
    The rxrpc packet serial number cannot be safely used to compute out of
    order ack packets for several reasons:
    
     1. The allocation of serial numbers cannot be assumed to imply the order
        by which acks are populated and transmitted.  In some rxrpc
        implementations, delayed acks and ping acks are transmitted
        asynchronously to the receipt of data packets and so may be transmitted
        out of order.  As a result, they can race with idle acks.
    
     2. Serial numbers are allocated by the rxrpc connection and not the call
        and as such may wrap independently if multiple channels are in use.
    
    In any case, what matters is whether the ack packet provides new
    information relating to the bounds of the window (the firstPacket and
    previousPacket in the ACK data).
    
    Fix this by discarding packets that appear to wind back the window bounds
    rather than on serial number procession.
    
    Fixes: 298bc15b2079 ("rxrpc: Only take the rwind and mtu values from latest ACK")
    Signed-off-by: Jeffrey Altman <jaltman@auristor.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Tested-by: Marc Dionne <marc.dionne@auristor.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7851256f4d6b50807960c2f6681641a90ca7d66a
Author: Steven Price <steven.price@arm.com>
Date:   Mon Mar 25 17:37:22 2019 +0000

    firmware: arm_scmi: fix of_node leak in scmi_mailbox_check
    
    [ Upstream commit fa7fe29a645b4da08efe8ff2392898b88f9ded9f ]
    
    of_parse_phandle_with_args() requires the caller to call of_node_put() on
    the returned args->np pointer. Otherwise the reference count will remain
    incremented.
    
    However, in this case, since we don't actually use the returned pointer,
    we can simply pass in NULL.
    
    Fixes: aa4f886f3893f ("firmware: arm_scmi: add basic driver infrastructure for SCMI")
    Signed-off-by: Steven Price <steven.price@arm.com>
    Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d35156d1d87f9279d85e1a8fd3e4989c88b5e51a
Author: Zhang Rui <rui.zhang@intel.com>
Date:   Tue Apr 2 21:38:32 2019 +0800

    ACPI: button: reinitialize button state upon resume
    
    [ Upstream commit 13e962140be671f31a011543f11477af67a6c33e ]
    
    With commit dfa46c50f65b ("ACPI / button: Fix an issue in
    button.lid_init_state=ignore mode"), the lid device is considered to be
    not compliant to SW_LID if the Lid state is unchanged when updating it.
    
    This is not wrong, but we overlooked the resume case, where Lid state is
    updated unconditionally in the button driver .resume() callback. And this
    results in warning message "ACPI: button: The lid device is not compliant
    to  SW_LID." after resume, if the machine is suspended with Lid opened and
    then resumed with Lid opened.
    
    Fix this by flushing the cached lid state before updating the Lid device
    in .resume() callback.
    
    Fixes: dfa46c50f65b ("ACPI / button: Fix an issue in button.lid_init_state=ignore mode")
    Reported-and-tested-by: Zhao Lijian <lijian.zhao@intel.com>
    Signed-off-by: Zhang Rui <rui.zhang@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 86ed527d66e04446a795d8bf9d015802022164af
Author: Marc Gonzalez <marc.w.gonzalez@free.fr>
Date:   Mon Mar 25 14:49:54 2019 +0100

    clk: qcom: Skip halt checks on gcc_pcie_0_pipe_clk for 8998
    
    [ Upstream commit c0ee0e43c049a13d11e913edf875e4ee376dc84b ]
    
    See similar issue solved by commit 5f2420ed2189
    ("clk: qcom: Skip halt checks on gcc_usb3_phy_pipe_clk for 8998")
    
    Without this patch, PCIe PHY init fails:
    
    qcom-qmp-phy 1c06000.phy: pipe_clk enable failed err=-16
    phy phy-1c06000.phy.0: phy init failed --> -16
    
    Signed-off-by: Marc Gonzalez <marc.w.gonzalez@free.fr>
    Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org>
    Fixes: b5f5f525c547 ("clk: qcom: Add MSM8998 Global Clock Control (GCC) driver")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c919556ac75646c02fcedd7097808d8e5a0553f4
Author: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
Date:   Mon Apr 8 10:12:18 2019 -0700

    net/sched: cbs: fix port_rate miscalculation
    
    [ Upstream commit e0a7683d30e91e30ee6cf96314ae58a0314a095e ]
    
    The Credit Based Shaper heavily depends on link speed to calculate
    the scheduling credits, we can't properly calculate the credits if the
    device has failed to report the link speed.
    
    In that case we can't dequeue packets assuming a wrong port rate that will
    result into an inconsistent credit distribution.
    
    This patch makes sure we fail to dequeue case:
    
    1) __ethtool_get_link_ksettings() reports error or 2) the ethernet driver
    failed to set the ksettings' speed value (setting link speed to
    SPEED_UNKNOWN).
    
    Additionally we properly re calculate the port rate whenever the link speed
    is changed.
    
    Fixes: 3d0bd028ffb4a ("net/sched: Add support for HW offloading for CBS")
    Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
    Reviewed-by: Vedang Patel <vedang.patel@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 963a94102f63624a86342292996c12e879d32930
Author: Chris Packham <chris.packham@alliedtelesis.co.nz>
Date:   Fri Mar 22 13:23:41 2019 +1300

    of: use correct function prototype for of_overlay_fdt_apply()
    
    [ Upstream commit ecb0abc1d8528015957fbd034be8bfe760363b3b ]
    
    When CONFIG_OF_OVERLAY is not enabled the fallback stub for
    of_overlay_fdt_apply() does not match the prototype for the case when
    CONFIG_OF_OVERLAY is enabled. Update the stub to use the correct
    function prototype.
    
    Fixes: 39a751a4cb7e ("of: change overlay apply input data from unflattened to FDT")
    Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
    Reviewed-by: Frank Rowand <frank.rowand@sony.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6535e7409825ba7204b51d8c1d2a8b640fd1409b
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Thu Apr 4 12:44:46 2019 -0700

    scsi: qla2xxx: Unregister chrdev if module initialization fails
    
    [ Upstream commit c794d24ec9eb6658909955772e70f34bef5b5b91 ]
    
    If module initialization fails after the character device has been
    registered, unregister the character device. Additionally, avoid
    duplicating error path code.
    
    Cc: Himanshu Madhani <hmadhani@marvell.com>
    Cc: Giridhar Malavali <giridhar.malavali@qlogic.com>
    Fixes: 6a03b4cd78f3 ("[SCSI] qla2xxx: Add char device to increase driver use count") # v2.6.35.
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d30d7a4a07e5e905734d0a52e2f6b65cc5c38423
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Fri Mar 1 09:47:43 2019 -0800

    drm/vmwgfx: Remove set but not used variable 'restart'
    
    [ Upstream commit b2130cca9c8db5073b71d832da2a6c8311a8f3bb ]
    
    Fixes gcc '-Wunused-but-set-variable' warning:
    
    drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf.c: In function 'vmw_cmdbuf_work_func':
    drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf.c:514:7: warning:
     variable 'restart' set but not used [-Wunused-but-set-variable]
    
    It not used any more after commit dc366364c4ef ("drm/vmwgfx: Fix multiple
    command buffer context use")
    
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Reviewed-by: Deepak Rawat <drawat@vmware.com>
    Signed-off-by: Deepak Rawat <drawat@vmware.com>
    Fixes: dc366364c4ef ("drm/vmwgfx: Fix multiple command buffer context use")
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 462c72919bcc533a2d82c6f5f0e36a7c483b2580
Author: Andrey Ignatov <rdna@fb.com>
Date:   Wed Apr 3 23:22:43 2019 -0700

    bpf: Add missed newline in verifier verbose log
    
    [ Upstream commit 1fbd20f8b77b366ea4aeb92ade72daa7f36a7e3b ]
    
    check_stack_access() that prints verbose log is used in
    adjust_ptr_min_max_vals() that prints its own verbose log and now they
    stick together, e.g.:
    
      variable stack access var_off=(0xfffffffffffffff0; 0x4) off=-16
      size=1R2 stack pointer arithmetic goes out of range, prohibited for
      !root
    
    Add missing newline so that log is more readable:
      variable stack access var_off=(0xfffffffffffffff0; 0x4) off=-16 size=1
      R2 stack pointer arithmetic goes out of range, prohibited for !root
    
    Fixes: f1174f77b50c ("bpf/verifier: rework value tracking")
    Signed-off-by: Andrey Ignatov <rdna@fb.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ba61f56385557de1681a2be04d4705f4e95dd0a1
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Wed Apr 3 15:47:59 2019 +0800

    ehea: Fix a copy-paste err in ehea_init_port_res
    
    [ Upstream commit c8f191282f819ab4e9b47b22a65c6c29734cefce ]
    
    pr->tx_bytes should be assigned to tx_bytes other than
    rx_bytes.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Fixes: ce45b873028f ("ehea: Fixing statistics")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fe7005a0239f54cf76ea6cbe89701199105bf6d3
Author: Pi-Hsun Shih <pihsun@chromium.org>
Date:   Mon Mar 11 15:55:40 2019 +0800

    rtc: mt6397: Don't call irq_dispose_mapping.
    
    [ Upstream commit 24db953e942bd7a983e97892bdaddf69d00b1199 ]
    
    The IRQ mapping was changed to not being created in the rtc-mt6397
    driver, so the irq_dispose_mapping is no longer needed.
    Also the dev_id passed to free_irq should be the same as the last
    argument passed to request_threaded_irq.
    This prevents a "Trying to free already-free IRQ 274" warning when
    unbinding the driver.
    
    Fixes: e695d3a0b3b3 ("mfd: mt6397: Create irq mappings in mfd core driver")
    Signed-off-by: Pi-Hsun Shih <pihsun@chromium.org>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit af06cc1c974858ecf22a77e4447a4ee05a07b50a
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Fri Mar 22 08:26:12 2019 +0100

    rtc: Fix timestamp value for RTC_TIMESTAMP_BEGIN_1900
    
    [ Upstream commit d3062d1d7415cb5a37777220357aca51a491c3d7 ]
    
    Printing "mktime64(1900, 1, 1, 0, 0, 0)" gives -2208988800.
    
    Fixes: 83bbc5ac63326433 ("rtc: Add useful timestamp definitions")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 40ad6e3ae43d290de3ff2555c7dc696d203ad626
Author: Matteo Croce <mcroce@redhat.com>
Date:   Mon Apr 1 12:44:47 2019 +0200

    arm64/vdso: don't leak kernel addresses
    
    [ Upstream commit 0f1bf7e39822476b2f921435cf990f67a61f5f92 ]
    
    Since commit ad67b74d2469d9b8 ("printk: hash addresses printed with %p"),
    two obfuscated kernel pointer are printed at every boot:
    
        vdso: 2 pages (1 code @ (____ptrval____), 1 data @ (____ptrval____))
    
    Remove the the print completely, as it's useless without the addresses.
    
    Fixes: ad67b74d2469d9b8 ("printk: hash addresses printed with %p")
    Acked-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Matteo Croce <mcroce@redhat.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6c5df6f63e8f98fe89c41c879385105bd0952248
Author: Noralf Trønnes <noralf@tronnes.org>
Date:   Mon Apr 1 16:13:58 2019 +0200

    drm/fb-helper: generic: Call drm_client_add() after setup is done
    
    [ Upstream commit 6e3f17ee73f7e3c2ef0e2c8fd8624b2ece8ef2c9 ]
    
    Hotplug can happen while drm_fbdev_generic_setup() is running so move
    drm_client_add() call after setup is done to avoid
    drm_fbdev_client_hotplug() running in two threads at the same time.
    
    Fixes: 9060d7f49376 ("drm/fb-helper: Finish the generic fbdev emulation")
    Cc: stable@vger.kernel.org
    Reported-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190401141358.25309-1-noralf@tronnes.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8af3f204f33237da869b9ef7241edb3aa1ba9d1d
Author: Martin Sperl <kernel@martin.sperl.org>
Date:   Sat Mar 30 09:31:02 2019 +0000

    spi: bcm2835aux: fix driver to not allow 65535 (=-1) cs-gpios
    
    [ Upstream commit 509c583620e9053e43d611bf1614fc3d3abafa96 ]
    
    The original driver by default defines num_chipselects as -1.
    This actually allicates an array of 65535 entries in
    of_spi_register_master.
    
    There is a side-effect for buggy device trees that (contrary to
    dt-binding documentation) have no cs-gpio defined.
    
    This mode was never supported by the driver due to limitations
    of native cs and additional code complexity and is explicitly
    not stated to be implemented.
    
    To keep backwards compatibility with such buggy DTs we limit
    the number of chip_selects to 1, as for all practical purposes
    it is only ever realistic to use a single chip select in
    native cs mode without negative side-effects.
    
    Fixes: 1ea29b39f4c812ec ("spi: bcm2835aux: add bcm2835 auxiliary spi device...")
    Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
    Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f8bcefa13dab54064c7b3dd32f595871ac8d092c
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu Mar 28 17:18:41 2019 +0300

    soc/fsl/qe: Fix an error code in qe_pin_request()
    
    [ Upstream commit 5674a92ca4b7e5a6a19231edd10298d30324cd27 ]
    
    We forgot to set "err" on this error path.
    
    Fixes: 1a2d397a6eb5 ("gpio/powerpc: Eliminate duplication of of_get_named_gpio_flags()")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Li Yang <leoyang.li@nxp.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2fe6d9c113f52b8eda42dd65eeeac6ee424c765e
Author: Tony Lindgren <tony@atomide.com>
Date:   Thu Mar 21 11:00:21 2019 -0700

    bus: ti-sysc: Fix sysc_unprepare() when no clocks have been allocated
    
    [ Upstream commit aaa29bb01cc4bf5a87dbdb219efba3b09f259d8e ]
    
    If we return early before ddata->clocks have been allocated we will get a
    NULL pointer dereference in sysc_unprepare(). Let's fix this by returning
    early when no clocks are allocated.
    
    Fixes: 0eecc636e5a2 ("bus: ti-sysc: Add minimal TI sysc interconnect target driver")
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0d244fd367ce2616c641e8700131174cb802ae25
Author: Sowjanya Komatineni <skomatineni@nvidia.com>
Date:   Tue Mar 26 22:56:29 2019 -0700

    spi: tegra114: configure dma burst size to fifo trig level
    
    [ Upstream commit f4ce428c41fb22e3ed55496dded94df44cb920fa ]
    
    Fixes: Configure DMA burst size to be same as SPI TX/RX trigger levels
    to avoid mismatch.
    
    SPI FIFO trigger levels are calculated based on the transfer length.
    So this patch moves DMA slave configuration to happen before start
    of DMAs.
    
    Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 262a7b662f3a2c14ab493cfb8ef792c63e2e6d9c
Author: Sowjanya Komatineni <skomatineni@nvidia.com>
Date:   Tue Mar 26 22:56:28 2019 -0700

    spi: tegra114: flush fifos
    
    [ Upstream commit c4fc9e5b28ff787e35137c2cc13316bb11d7657b ]
    
    Fixes: Flush TX and RX FIFOs before start of new transfer and on FIFO
    overflow or underrun errors.
    
    Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d911ba66b8557c814e993f39b7fac21fc68784e8
Author: Sowjanya Komatineni <skomatineni@nvidia.com>
Date:   Tue Mar 26 22:56:27 2019 -0700

    spi: tegra114: terminate dma and reset on transfer timeout
    
    [ Upstream commit 32bd1a9551cae34e6889afa235c7afdfede9aeac ]
    
    Fixes: terminate DMA and perform controller reset on transfer timeout
    to clear the FIFO's and errors.
    
    Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2c374bbef539440a0badc0aa4e9a3df1c66c9d2c
Author: Sowjanya Komatineni <skomatineni@nvidia.com>
Date:   Tue Mar 26 22:56:24 2019 -0700

    spi: tegra114: fix for unpacked mode transfers
    
    [ Upstream commit 1a89ac5b91895127f7c586ec5075c3753ca25501 ]
    
    Fixes: computation of actual bytes to fill/receive in/from FIFO in unpacked
    mode when transfer length is not a multiple of requested bits per word.
    
    unpacked mode transfers fails when the transfer includes partial bytes in
    the last word.
    
    Total words to be written/read to/from FIFO is computed based on transfer
    length and bits per word. Unpacked mode includes 0 padding bytes for partial
    words to align with bits per word and these extra bytes are also accounted
    for calculating bytes left to transfer in the current driver.
    
    This causes extra bytes access of tx/rx buffers along with buffer index
    position crossing actual length where remain_len becomes negative and due to
    unsigned type, negative value is a 32 bit representation of signed value
    and transferred bytes never meets the actual transfer length resulting in
    transfer timeout and a hang.
    
    This patch fixes this with proper computation of the actual bytes to fill in
    FIFO during transmit and the actual bytes to read from FIFO during receive
    ignoring 0 padded bytes.
    
    Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 754cbe810c9b67a2fc301748734e654f0588f4bb
Author: Sowjanya Komatineni <skomatineni@nvidia.com>
Date:   Tue Mar 26 22:56:23 2019 -0700

    spi: tegra114: clear packed bit for unpacked mode
    
    [ Upstream commit 7b3d10cdf54b8bc1dc0da21faed9789ac4da3684 ]
    
    Fixes: Clear packed bit when not using packed mode.
    
    Packed bit is not cleared when not using packed mode. This results
    in transfer timeouts for the unpacked mode transfers followed by the
    packed mode transfers.
    
    Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 30fd5b16c9081afebe74d4d614fe582ff84ef6b2
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Thu Mar 14 22:01:24 2019 -0400

    media: tw5864: Fix possible NULL pointer dereference in tw5864_handle_frame
    
    [ Upstream commit 2e7682ebfc750177a4944eeb56e97a3f05734528 ]
    
    'vb' null check should be done before dereferencing it in
    tw5864_handle_frame, otherwise a NULL pointer dereference
    may occur.
    
    Fixes: 34d1324edd31 ("[media] pci: Add tw5864 driver")
    
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 53836b6ec72b0cf4b0a48a22fa3a102e7204339a
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Fri Mar 22 10:34:22 2019 -0400

    media: davinci-isif: avoid uninitialized variable use
    
    [ Upstream commit 0e633f97162c1c74c68e2eb20bbd9259dce87cd9 ]
    
    clang warns about a possible variable use that gcc never
    complained about:
    
    drivers/media/platform/davinci/isif.c:982:32: error: variable 'frame_size' is uninitialized when used here
          [-Werror,-Wuninitialized]
                    dm365_vpss_set_pg_frame_size(frame_size);
                                                 ^~~~~~~~~~
    drivers/media/platform/davinci/isif.c:887:2: note: variable 'frame_size' is declared here
            struct vpss_pg_frame_size frame_size;
            ^
    1 error generated.
    
    There is no initialization for this variable at all, and there
    has never been one in the mainline kernel, so we really should
    not put that stack data into an mmio register.
    
    On the other hand, I suspect that gcc checks the condition
    more closely and notices that the global
    isif_cfg.bayer.config_params.test_pat_gen flag is initialized
    to zero and never written to from any code path, so anything
    depending on it can be eliminated.
    
    To shut up the clang warning, just remove the dead code manually,
    it has probably never been used because any attempt to do so
    would have resulted in undefined behavior.
    
    Fixes: 63e3ab142fa3 ("V4L/DVB: V4L - vpfe capture - source for ISIF driver on DM365")
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
    Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c444dab8961aeb14bb474664600645d8b2fc4cac
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu Feb 28 08:48:49 2019 +0300

    soc: qcom: cmd-db: Fix an error code in cmd_db_dev_probe()
    
    [ Upstream commit 93b260528020792032e50725383f27a27897bb0f ]
    
    The memremap() function doesn't return error pointers, it returns NULL.
    This code is returning "ret = PTR_ERR(NULL);" which is success, but it
    should return -ENOMEM.
    
    Fixes: 312416d9171a ("drivers: qcom: add command DB driver")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Andy Gross <andy.gross@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7245f4562526b99d01a575a087a108047526763a
Author: Vladimir Oltean <olteanv@gmail.com>
Date:   Sun Mar 24 01:24:07 2019 +0200

    net: dsa: Avoid null pointer when failing to connect to PHY
    
    [ Upstream commit 6146dd453e235c487d85ae4dc6cc08978a1c890f ]
    
    When phylink_of_phy_connect fails, dsa_slave_phy_setup tries to save the
    day by connecting to an alternative PHY, none other than a PHY on the
    switch's internal MDIO bus, at an address equal to the port's index.
    
    However this does not take into consideration the scenario when the
    switch that failed to probe an external PHY does not have an internal
    MDIO bus at all.
    
    Fixes: aab9c4067d23 ("net: dsa: Plug in PHYLINK support")
    Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit eb8f7fa7340bb7c3a515a992a9cf353f0c216716
Author: Tony Lindgren <tony@atomide.com>
Date:   Thu Mar 21 11:00:21 2019 -0700

    ARM: OMAP2+: Fix potentially uninitialized return value for _setup_reset()
    
    [ Upstream commit 7f0d078667a494466991aa7133f49594f32ff6a2 ]
    
    Commit 747834ab8347 ("ARM: OMAP2+: hwmod: revise hardreset behavior") made
    the call to _enable() conditional based on no oh->rst_lines_cnt. This
    caused the return value to be potentially uninitialized. Curiously we see
    no compiler warnings for this, probably as this gets inlined.
    
    We call _setup_reset() from _setup() and only _setup_postsetup() if the
    return value is zero. Currently the return value can be uninitialized for
    cases where oh->rst_lines_cnt is set and HWMOD_INIT_NO_RESET is not set.
    
    Fixes: 747834ab8347 ("ARM: OMAP2+: hwmod: revise hardreset behavior")
    Cc: Paul Walmsley <paul@pwsan.com>
    Cc: Tero Kristo <t-kristo@ti.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5aeaa36b6823dcc743d858de237e3bc5b7d3e1e2
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Fri Mar 22 20:00:20 2019 +0100

    net: phy: don't clear BMCR in genphy_soft_reset
    
    [ Upstream commit d29f5aa0bc0c321e1b9e4658a2a7e08e885da52a ]
    
    So far we effectively clear the BMCR register. Some PHY's can deal
    with this (e.g. because they reset BMCR to a default as part of a
    soft-reset) whilst on others this causes issues because e.g. the
    autoneg bit is cleared. Marvell is an example, see also thread [0].
    So let's be a little bit more gentle and leave all bits we're not
    interested in as-is. This change is needed for PHY drivers to
    properly deal with the original patch.
    
    [0] https://marc.info/?t=155264050700001&r=1&w=2
    
    Fixes: 6e2d85ec0559 ("net: phy: Stop with excessive soft reset")
    Tested-by: Phil Reid <preid@electromag.com.au>
    Tested-by: liweihang <liweihang@hisilicon.com>
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0e20c6ed17b11be62ed8c6bf434697e8187349dc
Author: Maxime Ripard <mripard@kernel.org>
Date:   Mon Mar 25 14:52:34 2019 +0100

    ARM: dts: sun9i: optimus: Fix fixed-regulators
    
    [ Upstream commit c2a5b554751545023056559121a8ecf86aebe541 ]
    
    Commit 1848f3f44444 ("ARM: dts: sun9i: Remove GPIO pinctrl nodes to avoid
    warnings") was wrong on the optimus, and instead of droping the
    pinctrl-names property, it dropped the regulator-name one.
    
    Obviously, that wasn't what was intended. Reinstate regulator-name and drop
    pinctrl-names.
    
    Fixes: 1848f3f44444 ("ARM: dts: sun9i: Remove GPIO pinctrl nodes to avoid warnings")
    Acked-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bb95e2dd230f41850829eccae1527fe2c85bf5a4
Author: Maxime Ripard <mripard@kernel.org>
Date:   Mon Mar 25 14:52:50 2019 +0100

    arm64: dts: allwinner: a64: Add missing PIO clocks
    
    [ Upstream commit 562bf19611c000cb7219431c3cc78aa60c2b371e ]
    
    The pinctrl binding mandates that we have the three clocks fed into the PIO
    described.
    
    Even though the old case is still supported for backward compatibility, we
    should update our DTs to fix this.
    
    Fixes: 6bc37fac30cf ("arm64: dts: add Allwinner A64 SoC .dtsi")
    Acked-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9c1bfbcedef447aff9057482d2912cd4f68766ee
Author: Maxime Ripard <mripard@kernel.org>
Date:   Mon Mar 18 12:00:41 2019 +0100

    ARM: dts: sun8i: a33: Reintroduce default pinctrl muxing
    
    [ Upstream commit fa44328f4eb0b762a1fcb148809068e9646e7156 ]
    
    Commit d02752149759 ("ARM: dts: sun8i-a23-a33: Move NAND controller device
    node to sort by address") moved the NAND controller node around, but
    dropped the default muxing in the process.
    
    Reintroduce it.
    
    Fixes: d02752149759 ("ARM: dts: sun8i-a23-a33: Move NAND controller device node to sort by address")
    Acked-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0f4c7dad4ec37e2d751d1124960b6036409ea10c
Author: Finn Thain <fthain@telegraphics.com.au>
Date:   Sat Dec 1 11:53:10 2018 +1100

    m68k: mac: Fix VIA timer counter accesses
    
    [ Upstream commit 0ca7ce7db771580433bf24454f7a1542bd326078 ]
    
    This resolves some bugs that affect VIA timer counter accesses.
    Avoid lost interrupts caused by reading the counter low byte register.
    Make allowance for the fact that the counter will be decremented to
    0xFFFF before being reloaded.
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e317b36324b0184ca3063675a3b4f18a0c206c76
Author: Jon Maloy <jon.maloy@ericsson.com>
Date:   Fri Mar 22 15:03:51 2019 +0100

    tipc: tipc clang warning
    
    [ Upstream commit 737889efe9713a0f20a75fd0de952841d9275e6b ]
    
    When checking the code with clang -Wsometimes-uninitialized we get the
    following warning:
    
    if (!tipc_link_is_establishing(l)) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    net/tipc/node.c:847:46: note: uninitialized use occurs here
          tipc_bearer_xmit(n->net, bearer_id, &xmitq, maddr);
    
    net/tipc/node.c:831:2: note: remove the 'if' if its condition is always
    true
    if (!tipc_link_is_establishing(l)) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    net/tipc/node.c:821:31: note: initialize the variable 'maddr' to silence
    this warning
    struct tipc_media_addr *maddr;
    
    We fix this by initializing 'maddr' to NULL. For the matter of clarity,
    we also test if 'xmitq' is non-empty before we use it and 'maddr'
    further down in the  function. It will never happen that 'xmitq' is non-
    empty at the same time as 'maddr' is NULL, so this is a sufficient test.
    
    Fixes: 598411d70f85 ("tipc: make resetting of links non-atomic")
    Reported-by: Nathan Chancellor <natechancellor@gmail.com>
    Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b754f2894e3eb359bf52a5d61c71a204ae40de26
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Fri Mar 22 15:19:16 2019 +0100

    jfs: fix bogus variable self-initialization
    
    [ Upstream commit a5fdd713d256887b5f012608701149fa939e5645 ]
    
    A statement was originally added in 2006 to shut up a gcc warning,
    now but now clang warns about it:
    
    fs/jfs/jfs_txnmgr.c:1932:15: error: variable 'pxd' is uninitialized when used within its own initialization
          [-Werror,-Wuninitialized]
                    pxd_t pxd = pxd;        /* truncated extent of xad */
                          ~~~   ^~~
    
    Modern versions of gcc are fine without the silly assignment, so just
    drop it. Tested with gcc-4.6 (released 2011), 4.7, 4.8, and 4.9.
    
    Fixes: c9e3ad6021e5 ("JFS: Get rid of "may be used uninitialized" warnings")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b6e63c1862ce349edbb5702d130606c21cee1c13
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Thu Mar 14 10:09:44 2019 +0100

    crypto: ccree - reduce kernel stack usage with clang
    
    [ Upstream commit 5db46ac29a6797541943d3c4081821747e342732 ]
    
    Building with clang for a 32-bit architecture runs over the stack
    frame limit in the setkey function:
    
    drivers/crypto/ccree/cc_cipher.c:318:12: error: stack frame size of 1152 bytes in function 'cc_cipher_setkey' [-Werror,-Wframe-larger-than=]
    
    The problem is that there are two large variables: the temporary
    'tmp' array and the SHASH_DESC_ON_STACK() declaration. Moving
    the first into the block in which it is used reduces the
    total frame size to 768 bytes, which seems more reasonable
    and is under the warning limit.
    
    Fixes: 63ee04c8b491 ("crypto: ccree - add skcipher support")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Acked-By: Gilad Ben-Yossef <gilad@benyossef.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5bb4a32a720350cc0074d885fbcfc3db51cc0e3e
Author: Axel Lin <axel.lin@ingics.com>
Date:   Mon Mar 4 16:57:52 2019 +0800

    regulator: tps65086: Fix tps65086_ldoa1_ranges for selector 0xB
    
    [ Upstream commit e69b394703e032e56a140172440ec4f9890b536d ]
    
    selector 0xB (1011) should be 2.6V rather than 2.7V, fit ix.
    
    Table 5-4. LDOA1 Output Voltage Options
    VID Bits VOUT VID Bits VOUT VID Bits VOUT VID Bits VOUT
    0000     1.35 0100     1.8  1000     2.3  1100     2.85
    0001     1.5  0101     1.9  1001     2.4  1101     3.0
    0010     1.6  0110     2.0  1010     2.5  1110     3.3
    0011     1.7  0111     2.1  1011     2.6  1111     Not Used
    
    Fixes: d2a2e729a666 ("regulator: tps65086: Add regulator driver for the TPS65086 PMIC")
    Signed-off-by: Axel Lin <axel.lin@ingics.com>
    Acked-by: Andrew F. Davis <afd@ti.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c37f046735ff5ef26b2c9a30c2d146ffe0a70c7f
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Sat Jan 19 22:52:23 2019 -0500

    media: cx23885: check allocation return
    
    [ Upstream commit a3d7f22ef34ec4206b50ee121384d5c8bebd5591 ]
    
    Checking of kmalloc() seems to have been committed - as
    cx23885_dvb_register() is checking for != 0 return, returning
    -ENOMEM should be fine here.  While at it address the coccicheck
    suggestion to move to kmemdup rather than using kmalloc+memcpy.
    
    Fixes: 46b21bbaa8a8 ("[media] Add support for DViCO FusionHDTV DVB-T Dual Express2")
    
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7a849e78d212d66d2042bf0ae5707272375d7491
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Mar 6 02:27:43 2019 -0500

    media: wl128x: Fix an error code in fm_download_firmware()
    
    [ Upstream commit ef4bb63dc1f7213c08e13f6943c69cd27f69e4a3 ]
    
    We forgot to set "ret" on this error path.
    
    Fixes: e8454ff7b9a4 ("[media] drivers:media:radio: wl128x: FM Driver Common sources")
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0c1145ebd5b9726495b642f3a4dffc632c53ef4c
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Fri Feb 22 01:37:02 2019 -0500

    media: cx18: update *pos correctly in cx18_read_pos()
    
    [ Upstream commit 7afb0df554292dca7568446f619965fb8153085d ]
    
    We should be updating *pos.  The current code is a no-op.
    
    Fixes: 1c1e45d17b66 ("V4L/DVB (7786): cx18: new driver for the Conexant CX23418 MPEG encoder chip")
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bd56e8aad614fe9f36c36b8684db2703deaedfd1
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Fri Feb 22 01:36:41 2019 -0500

    media: ivtv: update *pos correctly in ivtv_read_pos()
    
    [ Upstream commit f8e579f3ca0973daef263f513da5edff520a6c0d ]
    
    We had intended to update *pos, but the current code is a no-op.
    
    Fixes: 1a0adaf37c30 ("V4L/DVB (5345): ivtv driver for Conexant cx23416/cx23415 MPEG encoder/decoder")
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 31ebec25326c9f95c54d5e40e9dccbbf92890ef3
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Thu Mar 7 15:01:45 2019 +0100

    soc: amlogic: gx-socinfo: Add mask for each SoC packages
    
    [ Upstream commit dce47aed20c7de3ee2011b7a63e67f08e9dcfb5e ]
    
    When updated IDs on f842c41adc04 ("amlogic: meson-gx-socinfo: Update soc ids")
    we introduced packages ids using the full 8bit value, but in the function
    socinfo_to_package_id() the id was filtered with the 0xf0 mask.
    
    While the 0xf0 mask is valid for most board, it filters out the lower
    4 bits which encodes some characteristics of the chip.
    
    This patch moves the mask into the meson_gx_package_id table to be applied
    on each package name independently and add the correct mask for some
    specific entries.
    
    An example is the S905, in the vendor code the S905 is package_id
    different from 0x20, and S905M is exactly 0x20.
    
    Another example are the The Wetek Hub & Play2 boards using a S905-H
    variant, which is the S905 SoC with some licence bits enabled.
    These licence bits are encoded in the lower 4bits, so to detect
    the -H variant, we must detect the id == 0x3 with the 0xf mask.
    
    Fixes: f842c41adc04 ("amlogic: meson-gx-socinfo: Update soc ids")
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 90a2e64c4365a4c5f939e9116af960980ce5eeef
Author: Axel Lin <axel.lin@ingics.com>
Date:   Fri Mar 1 14:16:40 2019 +0800

    regulator: lp87565: Fix missing register for LP87565_BUCK_0
    
    [ Upstream commit d1a6cbdf1e597917cb642c655512d91b71a35d22 ]
    
    LP87565_BUCK_0 is missed, fix it.
    
    Fixes: f0168a9bf ("regulator: lp87565: Add support for lp87565 PMIC regulators")
    Signed-off-by: Axel Lin <axel.lin@ingics.com>
    Reviewed-by: Keerthy <j-keerthy@ti.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 013cfff98dcc09045090d2788952f65033be4977
Author: Kangjie Lu <kjlu@umn.edu>
Date:   Tue Mar 12 02:43:18 2019 -0500

    net: sh_eth: fix a missing check of of_get_phy_mode
    
    [ Upstream commit 035a14e71f27eefa50087963b94cbdb3580d08bf ]
    
    of_get_phy_mode may fail and return a negative error code;
    the fix checks the return value of of_get_phy_mode and
    returns NULL of it fails.
    
    Fixes: b356e978e92f ("sh_eth: add device tree support")
    Signed-off-by: Kangjie Lu <kjlu@umn.edu>
    Reviewed-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3e259009f597c042f00fe1a29f96d152c14593d9
Author: Feras Daoud <ferasda@mellanox.com>
Date:   Mon Jan 14 17:34:28 2019 +0200

    net/mlx5e: IPoIB, Fix RX checksum statistics update
    
    [ Upstream commit 3d6f3cdf9bfe92c430674308db0f1c8655f2c11d ]
    
    Update the RX checksum only if the feature is enabled.
    
    Fixes: 9d6bd752c63c ("net/mlx5e: IPoIB, RX handler")
    Signed-off-by: Feras Daoud <ferasda@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d6e970b198c9f37819d4cf2f1c4a53b8c47a4ad9
Author: Eli Britstein <elibr@mellanox.com>
Date:   Thu Jan 31 14:56:01 2019 +0200

    net/mlx5: Fix multiple updates of steering rules in parallel
    
    [ Upstream commit 6237634d8fcc65c9e3348382910e7cdb15084c68 ]
    
    There might be a condition where the fte found is not active yet. In
    this case we should not use it, but continue to search for another, or
    allocate a new one.
    
    Fixes: bd71b08ec2ee ("net/mlx5: Support multiple updates of steering rules in parallel")
    Signed-off-by: Eli Britstein <elibr@mellanox.com>
    Reviewed-by: Maor Gottlieb <maorg@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a663874605954bb50b940e6c315774c9da01b4e7
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu Mar 7 08:41:22 2019 +0300

    xen, cpu_hotplug: Prevent an out of bounds access
    
    [ Upstream commit 201676095dda7e5b31a5e1d116d10fc22985075e ]
    
    The "cpu" variable comes from the sscanf() so Smatch marks it as
    untrusted data.  We can't pass a higher value than "nr_cpu_ids" to
    cpu_possible() or it results in an out of bounds access.
    
    Fixes: d68d82afd4c8 ("xen: implement CPU hotplugging")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5f4144822d2adf5449ad6b835eaad25eb00589fa
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu Mar 7 16:29:33 2019 -0800

    drivers/rapidio/rio_cm.c: fix potential oops in riocm_ch_listen()
    
    [ Upstream commit 5ac188b12e7cbdd92dee60877d1fac913fc1d074 ]
    
    If riocm_get_channel() fails, then we should just return -EINVAL.
    Calling riocm_put_channel() will trigger a NULL dereference and
    generally we should call put() if the get() didn't succeed.
    
    Link: http://lkml.kernel.org/r/20190110130230.GB27017@kadam
    Fixes: b6e8d4aa1110 ("rapidio: add RapidIO channelized messaging driver")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: Matt Porter <mporter@kernel.crashing.org>
    Cc: Alexandre Bounine <alexandre.bounine@idt.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit dd123c299c304ef782205adbc27d96473cb67e12
Author: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Date:   Thu Mar 7 10:52:13 2019 -0800

    nfp: fix simple vNIC mailbox length
    
    [ Upstream commit eaab2d2d0fe4393b040dbf3922e18cd2ab7d6b85 ]
    
    The simple vNIC mailbox length should be 12 decimal and not 0x12.
    Using a decimal also makes it clear this is a length value and not
    another field within the simple mailbox defines.
    
    Found by code inspection, there are no known firmware configurations
    where this would cause issues.
    
    Fixes: 527d7d1b9949 ("nfp: read mailbox address from TLV caps")
    Signed-off-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
    Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4d715fe508dd3672166bc5ce4e74dbe6a6f15075
Author: Steve Sistare <steven.sistare@oracle.com>
Date:   Fri Mar 1 06:46:28 2019 -0800

    scsi: megaraid_sas: reduce module load time
    
    [ Upstream commit 31b6a05f86e690e1818116fd23c3be915cc9d9ed ]
    
    megaraid_sas takes 1+ seconds to load while waiting for firmware:
    
    [2.822603] megaraid_sas 0000:03:00.0: Waiting for FW to come to ready state
    [3.871003] megaraid_sas 0000:03:00.0: FW now in Ready state
    
    This is due to the following loop in megasas_transition_to_ready(), which
    waits a minimum of 1 second, even though the FW becomes ready in tens of
    millisecs:
    
            /*
             * The cur_state should not last for more than max_wait secs
             */
            for (i = 0; i < max_wait; i++) {
                    ...
                    msleep(1000);
            ...
            dev_info(&instance->pdev->dev, "FW now in Ready state\n");
    
    This is a regression, caused by a change of the msleep granularity from 1
    to 1000 due to concern about waiting too long on systems with coarse
    jiffies.
    
    To fix, increase iterations and use msleep(20), which results in:
    
    [2.670627] megaraid_sas 0000:03:00.0: Waiting for FW to come to ready state
    [2.739386] megaraid_sas 0000:03:00.0: FW now in Ready state
    
    Fixes: fb2f3e96d80f ("scsi: megaraid_sas: Fix msleep granularity")
    Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
    Acked-by: Sumit Saxena <sumit.saxena@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cab4b1e2eb70965900d117729194bcb290cd6399
Author: Qian Cai <cai@lca.pw>
Date:   Thu Feb 28 17:01:55 2019 -0500

    x86/mm: Remove unused variable 'cpu'
    
    [ Upstream commit 3609e31bc8dc03b701390f79c74fc7fe92b95039 ]
    
    The commit a2055abe9c67 ("x86/mm: Pass flush_tlb_info to
    flush_tlb_others() etc") removed the unnecessary cpu parameter from
    uv_flush_tlb_others() but left an unused variable.
    
    arch/x86/mm/tlb.c: In function 'native_flush_tlb_others':
    arch/x86/mm/tlb.c:688:16: warning: variable 'cpu' set but not used
    [-Wunused-but-set-variable]
       unsigned int cpu;
                    ^~~
    
    Fixes: a2055abe9c67 ("x86/mm: Pass flush_tlb_info to flush_tlb_others() etc")
    Signed-off-by: Qian Cai <cai@lca.pw>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Andyt Lutomirski <luto@kernel.org>
    Cc: dave.hansen@linux.intel.com
    Cc: peterz@infradead.org
    Cc: bp@alien8.de
    Cc: hpa@zytor.com
    Link: https://lkml.kernel.org/r/20190228220155.88124-1-cai@lca.pw
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 69e9107f291df99ff624b53f6473a09295977346
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Wed Nov 7 10:36:10 2018 +0800

    nios2: ksyms: Add missing symbol exports
    
    [ Upstream commit 0f8ed994575429d6042cf5d7ef70081c94091587 ]
    
    Building nios2:allmodconfig fails as follows (each symbol is only listed
    once).
    
    ERROR: "__ashldi3" [drivers/md/dm-writecache.ko] undefined!
    ERROR: "__ashrdi3" [fs/xfs/xfs.ko] undefined!
    ERROR: "__ucmpdi2" [drivers/media/i2c/adv7842.ko] undefined!
    ERROR: "__lshrdi3" [drivers/md/dm-zoned.ko] undefined!
    ERROR: "flush_icache_range" [drivers/misc/lkdtm/lkdtm.ko] undefined!
    ERROR: "empty_zero_page" [drivers/md/dm-mod.ko] undefined!
    
    The problem is seen with gcc 7.3.0.
    
    Export the missing symbols.
    
    Fixes: 2fc8483fdcde ("nios2: Build infrastructure")
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ac91c872959659147c59746049e7d05125fa92b4
Author: Alex Williamson <alex.williamson@redhat.com>
Date:   Mon Feb 18 12:46:46 2019 -0700

    PCI: Fix "try" semantics of bus and slot reset
    
    [ Upstream commit ddefc033eecf23f1e8b81d0663c5db965adf5516 ]
    
    The commit referenced below introduced device locking around save and
    restore of state for each device during a PCI bus "try" reset, making it
    decidely non-"try" and prone to deadlock in the event that a device is
    already locked.  Restore __pci_reset_bus() and __pci_reset_slot() to their
    advertised locking semantics by pushing the save and restore functions into
    the branch where the entire tree is already locked.  Extend the helper
    function names with "_locked" and update the comment to reflect this
    calling requirement.
    
    Fixes: b014e96d1abb ("PCI: Protect pci_error_handlers->reset_notify() usage with device_lock()")
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Sinan Kaya <okaya@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 080ba12cc1ce27b408e4de35f7ec7c7bf0615a4d
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Fri Mar 1 12:06:24 2019 +0100

    rbd: clear ->xferred on error from rbd_obj_issue_copyup()
    
    [ Upstream commit 356889c49d84f11f446ec235bd52ca1a7d581aa0 ]
    
    Otherwise the assert in rbd_obj_end_request() is triggered.
    
    Fixes: 3da691bf4366 ("rbd: new request handling code")
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 54cf6fff4f77ec6b51d6ac65ab8098479fca5b4c
Author: Akihiro Tsukada <tskd08@gmail.com>
Date:   Thu Jan 10 04:56:23 2019 -0500

    media: dvb/earth-pt1: fix wrong initialization for demod blocks
    
    [ Upstream commit 15d90a6ae98e6d2c68497b44a491cb9efbb98ab1 ]
    
    earth-pt1 driver was decomposed/restructured by the commit b732539efdba
    ("media: dvb: earth-pt1: decompose pt1 driver into sub drivers"),
    but it introduced a problem regarding concurrent streaming:
    Opening a new terrestial stream stops the reception of an existing,
    already-opened satellite stream.
    
    The demod IC in earth-pt1 boards contains 2 pairs of terr. and sat. blocks,
    supporting 4 concurrent demodulations, and the above problem was because
    the config of a terr. block contained whole reset/init of the pair blocks,
    thus each open() of a terrestrial frontend wrongly cleared the config of
    its peer satellite block of the demod.
    This whole/pair reset should be executed earlier and not on each open().
    
    Fixes: b732539efdba ("media: dvb: earth-pt1: decompose pt1 driver into sub drivers")
    
    Signed-off-by: Akihiro Tsukada <tskd08@gmail.com>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4eef49adea420b04c66a08e69093dc07aad8fb2c
Author: Rashmica Gupta <rashmica.g@gmail.com>
Date:   Wed Feb 13 10:29:49 2019 +1100

    powerpc/mm: Check secondary hash page table
    
    [ Upstream commit 790845e2f12709d273d08ea7a2af7c2593689519 ]
    
    We were always calling base_hpte_find() with primary = true,
    even when we wanted to check the secondary table.
    
    mpe: I broke this when refactoring Rashmica's original patch.
    
    Fixes: 1515ab932156 ("powerpc/mm: Dump hash table")
    Signed-off-by: Rashmica Gupta <rashmica.g@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 329aba812a01e5e686e39177eff7a114bd0a5208
Author: Igor Russkikh <Igor.Russkikh@aquantia.com>
Date:   Wed Feb 27 12:10:09 2019 +0000

    net: aquantia: fixed instack structure overflow
    
    [ Upstream commit 8006e3730b6e900319411e35cee85b4513d298df ]
    
    This is a real stack undercorruption found by kasan build.
    
    The issue did no harm normally because it only overflowed
    2 bytes after `bitary` array which on most architectures
    were mapped into `err` local.
    
    Fixes: bab6de8fd180 ("net: ethernet: aquantia: Atlantic A0 and B0 specific functions.")
    Signed-off-by: Nikita Danilov <nikita.danilov@aquantia.com>
    Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9ed8e8f6844dc84ba115c732f5e04c5e8c257422
Author: Trond Myklebust <trond.myklebust@hammerspace.com>
Date:   Tue Feb 26 11:19:46 2019 -0500

    NFSv4/flexfiles: Fix invalid deref in FF_LAYOUT_DEVID_NODE()
    
    [ Upstream commit 108bb4afd351d65826648a47f11fa3104e250d9b ]
    
    If the attempt to instantiate the mirror's layout DS pointer failed,
    then that pointer may hold a value of type ERR_PTR(), so we need
    to check that before we dereference it.
    
    Fixes: 65990d1afbd2d ("pNFS/flexfiles: Fix a deadlock on LAYOUTGET")
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7228d4369190230328c76198214a9071002b3c23
Author: Anna Schumaker <Anna.Schumaker@Netapp.com>
Date:   Fri Mar 1 16:09:56 2019 -0500

    NFS: Add missing encode / decode sequence_maxsz to v4.2 operations
    
    [ Upstream commit 1a3466aed3a17eed41cd9411f89eb637f58349b0 ]
    
    These really should have been there from the beginning, but we never
    noticed because there was enough slack in the RPC request for the extra
    bytes. Chuck's recent patch to use au_cslack and au_rslack to compute
    buffer size shrunk the buffer enough that this was now a problem for
    SEEK operations on my test client.
    
    Fixes: f4ac1674f5da4 ("nfs: Add ALLOCATE support")
    Fixes: 2e72448b07dc3 ("NFS: Add COPY nfs operation")
    Fixes: cb95deea0b4aa ("NFS OFFLOAD_CANCEL xdr")
    Fixes: 624bd5b7b683c ("nfs: Add DEALLOCATE support")
    Fixes: 1c6dcbe5ceff8 ("NFS: Implement SEEK")
    Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c2f1708e14a504ca66639a6ef3c58943c6a37858
Author: Lu Baolu <baolu.lu@linux.intel.com>
Date:   Fri Mar 1 11:23:12 2019 +0800

    iommu/vt-d: Fix NULL pointer reference in intel_svm_bind_mm()
    
    [ Upstream commit c56cba5daf45d2d091ef1cfe2f1d6a930446687b ]
    
    Intel IOMMU could be turned off with intel_iommu=off. If Intel
    IOMMU is off,  the intel_iommu struct will not be initialized.
    When device drivers call intel_svm_bind_mm(), the NULL pointer
    reference will happen there.
    
    Add dmar_disabled check to avoid NULL pointer reference.
    
    Cc: Ashok Raj <ashok.raj@intel.com>
    Cc: Jacob Pan <jacob.jun.pan@linux.intel.com>
    Reported-by: Dave Jiang <dave.jiang@intel.com>
    Fixes: 2f26e0a9c9860 ("iommu/vt-d: Add basic SVM PASID support")
    Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 25086ac92a31ce4504ecda7eac8aa762d7b81536
Author: Jonas Gorski <jonas.gorski@gmail.com>
Date:   Tue Feb 19 13:16:08 2019 +0100

    hwrng: bcm2835 - fix probe as platform device
    
    [ Upstream commit 984798de671a927ac73da31096a150df42e6aaf3 ]
    
    BCM63XX (MIPS) does not use device tree, so there cannot be any
    of_device_id, causing the driver to fail on probe:
    
    [    0.904564] bcm2835-rng: probe of bcm63xx-rng failed with error -22
    
    Fix this by checking for match data only if we are probing from device
    tree.
    
    Fixes: 8705f24f7b57 ("hwrng: bcm2835 - Enable BCM2835 RNG to work on BCM63xx platforms")
    Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
    Acked-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3764bfae5056e95617b6ee074129297e11710886
Author: Eli Britstein <elibr@mellanox.com>
Date:   Tue Feb 26 09:57:34 2019 +0000

    net: sched: act_csum: Fix csum calc for tagged packets
    
    [ Upstream commit 2ecba2d1e45b24620a7c3df9531895cf68d5dec6 ]
    
    The csum calculation is different for IPv4/6. For VLAN packets,
    tc_skb_protocol returns the VLAN protocol rather than the packet's one
    (e.g. IPv4/6), so csum is not calculated. Furthermore, VLAN may not be
    stripped so csum is not calculated in this case too. Calculate the
    csum for those cases.
    
    Fixes: d8b9605d2697 ("net: sched: fix skb->protocol use in case of accelerated vlan path")
    Signed-off-by: Eli Britstein <elibr@mellanox.com>
    Signed-off-by: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit abbfc53d999d20299906903d71c6607158f9c814
Author: Pablo Neira Ayuso <pablo@netfilter.org>
Date:   Mon Feb 25 14:13:42 2019 +0100

    netfilter: nft_set_hash: bogus element self comparison from deactivation path
    
    [ Upstream commit a01cbae57ec29b161d42ee1caa4ffffda5d519c2 ]
    
    Use the element from the loop iteration, not the same element we want to
    deactivate otherwise this branch always evaluates true.
    
    Fixes: 6c03ae210ce3 ("netfilter: nft_set_hash: add non-resizable hashtable implementation")
    Reported-by: Florian Westphal <fw@strlen.de>
    Tested-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9eebb677099e280669262e651d48cffd788ffb84
Author: Pablo Neira Ayuso <pablo@netfilter.org>
Date:   Mon Feb 25 14:13:41 2019 +0100

    netfilter: nft_set_hash: fix lookups with fixed size hash on big endian
    
    [ Upstream commit 3b02b0adc242a72b5e46019b6a9e4f84823592f6 ]
    
    Call jhash_1word() for the 4-bytes key case from the insertion and
    deactivation path, otherwise big endian arch set lookups fail.
    
    Fixes: 446a8268b7f5 ("netfilter: nft_set_hash: add lookup variant for fixed size hashtable")
    Reported-by: Florian Westphal <fw@strlen.de>
    Tested-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b8efa9fd9e251c1f3ac65154e5a1ae70073f16e5
Author: Surabhi Vishnoi <svishnoi@codeaurora.org>
Date:   Fri Feb 15 20:49:37 2019 +0530

    ath10k: Fix length of wmi tlv command for protected mgmt frames
    
    [ Upstream commit 761156ff573d1002983416e4fd1fe8d3489c4bd8 ]
    
    The length of wmi tlv command for management tx send is calculated
    incorrectly in case of protected management frames as there is addition
    of IEEE80211_CCMP_MIC_LEN twice. This leads to improper behaviour of
    firmware as the wmi tlv mgmt tx send command for protected mgmt frames
    is formed wrongly.
    
    Fix the length calculation of wmi tlv command for mgmt tx send in case
    of protected management frames by adding the IEEE80211_CCMP_MIC_LEN only
    once.
    
    Tested HW: WCN3990
    Tested FW: WLAN.HL.3.1-00784-QCAHLSWMTPLZ-1
    
    Fixes: 1807da49733e "ath10k: wmi: add management tx by reference support over wmi"
    Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 31c98a2efa5b51f117a725a3977826443bc3b1e1
Author: Axel Lin <axel.lin@ingics.com>
Date:   Sun Feb 24 21:16:51 2019 +0800

    regulator: wm831x-dcdc: Fix list of wm831x_dcdc_ilim from mA to uA
    
    [ Upstream commit c25d47888f0fb3d836d68322d4aea2caf31a75a6 ]
    
    The wm831x_dcdc_ilim entries needs to be uA because it is used to compare
    with min_uA and max_uA.
    While at it also make the array const and change to use unsigned int.
    
    Fixes: e4ee831f949a ("regulator: Add WM831x DC-DC buck convertor support")
    Signed-off-by: Axel Lin <axel.lin@ingics.com>
    Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0aa85e608198db46d7e7e6b08d8b217592b6b7dc
Author: Vladimir Murzin <vladimir.murzin@arm.com>
Date:   Wed Feb 20 15:00:53 2019 +0100

    ARM: 8849/1: NOMMU: Fix encodings for PMSAv8's PRBAR4/PRLAR4
    
    [ Upstream commit d410a8a49e3e00e07d43037e90f776d522b25a6a ]
    
    To access PRBARn, where n is referenced as a binary number:
    
    MRC p15, 0, <Rt>, c6, c8+n[3:1], 4*n[0] ; Read PRBARn into Rt
    MCR p15, 0, <Rt>, c6, c8+n[3:1], 4*n[0] ; Write Rt into PRBARn
    
    To access PRLARn, where n is referenced as a binary number:
    
    MRC p15, 0, <Rt>, c6, c8+n[3:1], 4*n[0]+1 ; Read PRLARn into Rt
    MCR p15, 0, <Rt>, c6, c8+n[3:1], 4*n[0]+1 ; Write Rt into PRLARn
    
    For PR{B,L}AR4, n is 4, n[0] is 0, n[3:1] is 2, while current encoding
    done with n[0] set to 1 which is wrong. Use proper encoding instead.
    
    Fixes: 046835b4aa22b9ab6aa0bb274e3b71047c4b887d ("ARM: 8757/1: NOMMU: Support PMSAv8 MPU")
    Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0acf4a0034b5671862035a1e5db3c6600a8d43fd
Author: Vladimir Murzin <vladimir.murzin@arm.com>
Date:   Wed Feb 20 15:00:13 2019 +0100

    ARM: 8848/1: virt: Align GIC version check with arm64 counterpart
    
    [ Upstream commit 9db043d36bd379f4cc99054c079de0dabfc38d03 ]
    
    arm64 has got relaxation on GIC version check at early boot stage due
    to update of the GIC architecture let's align ARM with that.
    
    To help backports (even though the code was correct at the time of writing)
    Fixes: e59941b9b381 ("ARM: 8527/1: virt: enable GICv3 system registers")
    Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
    Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0ab0fe3153db88a0100a17c7ac62337574d9a09c
Author: Marek Szyprowski <m.szyprowski@samsung.com>
Date:   Mon Feb 18 09:31:41 2019 +0100

    ARM: 8847/1: pm: fix HYP/SVC mode mismatch when MCPM is used
    
    [ Upstream commit ca70ea43f80c98582f5ffbbd1e6f4da2742da0c4 ]
    
    MCPM does a soft reset of the CPUs and uses common cpu_resume() routine to
    perform low-level platform initialization. This results in a try to install
    HYP stubs for the second time for each CPU and results in false HYP/SVC
    mode mismatch detection. The HYP stubs are already installed at the
    beginning of the kernel initialization on the boot CPU (head.S) or in the
    secondary_startup() for other CPUs. To fix this issue MCPM code should use
    a cpu_resume() routine without HYP stubs installation.
    
    This change fixes HYP/SVC mode mismatch on Samsung Exynos5422-based Odroid
    XU3/XU4/HC1 boards.
    
    Fixes: 3721924c8154 ("ARM: 8081/1: MCPM: provide infrastructure to allow for MCPM loopback")
    Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
    Acked-by: Nicolas Pitre <nico@linaro.org>
    Tested-by: Anand Moon <linux.amoon@gmail.com>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit af3b9fd41d93146410dc6d5f5542a32b15b7f039
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Feb 20 14:05:05 2019 +0100

    iommu: Fix IOMMU debugfs fallout
    
    [ Upstream commit 18b3af4492a0aa6046b86d712f6ba4cbb66100fb ]
    
    A change made in the final version of IOMMU debugfs support replaced the
    public function iommu_debugfs_new_driver_dir() by the public dentry
    iommu_debugfs_dir in <linux/iommu.h>, but forgot to update both the
    implementation in iommu-debugfs.c, and the patch description.
    
    Fix this by exporting iommu_debugfs_dir, and removing the reference to
    and implementation of iommu_debugfs_new_driver_dir().
    
    Fixes: bad614b24293ae46 ("iommu: Enable debugfs exposure of IOMMU driver internals")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Acked-by: Gary R Hook <gary.hook@amd.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 85e9904df1fcc4f0847d28f225f8936a9a31dbf2
Author: Stefan Wahren <stefan.wahren@i2se.com>
Date:   Sun Dec 23 21:59:18 2018 +0100

    mmc: sdhci-brcmstb: handle mmc_of_parse() errors during probe
    
    [ Upstream commit 1e20186e706da8446f9435f2924cd65ab1397e73 ]
    
    We need to handle mmc_of_parse() errors during probe otherwise the
    MMC driver could start without proper initialization (e.g. power sequence).
    
    Fixes: 476bf3d62d5c ("mmc: sdhci-brcmstb: Add driver for Broadcom BRCMSTB SoCs")
    Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8ce3c27633f1bd0b9c3c466953e98f070ba2bc62
Author: Trond Myklebust <trond.myklebust@hammerspace.com>
Date:   Fri Feb 22 14:20:27 2019 -0500

    NFS/pnfs: Bulk destroy of layouts needs to be safe w.r.t. umount
    
    [ Upstream commit 5085607d209102b37b169bc94d0aa39566a9842a ]
    
    If a bulk layout recall or a metadata server reboot coincides with a
    umount, then holding a reference to an inode is unsafe unless we
    also hold a reference to the super block.
    
    Fixes: fd9a8d7160937 ("NFSv4.1: Fix bulk recall and destroy of layouts")
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 02c0351094568b3234cdadcec6a01c185ab026e5
Author: Mattias Jacobsson <2pi@mok.nu>
Date:   Wed Jan 30 16:14:24 2019 +0100

    platform/x86: wmi: fix potential null pointer dereference
    
    [ Upstream commit c355ec651a8941864549f2586f969d0eb7bf499a ]
    
    In the function wmi_dev_match() the variable id is dereferenced without
    first performing a NULL check. The variable can for example be NULL if
    a WMI driver is registered without specifying the id_table field in
    struct wmi_driver.
    
    Add a NULL check and return that the driver can't handle the device if
    the variable is NULL.
    
    Fixes: 844af950da94 ("platform/x86: wmi: Turn WMI into a bus driver")
    Signed-off-by: Mattias Jacobsson <2pi@mok.nu>
    Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 45f525b36eefc53da24c1bfb86165629c7bd6801
Author: Marek Szyprowski <m.szyprowski@samsung.com>
Date:   Thu Oct 18 11:57:04 2018 +0200

    clocksource/drivers/exynos_mct: Fix error path in timer resources initialization
    
    [ Upstream commit b9307420196009cdf18bad55e762ac49fb9a80f4 ]
    
    While freeing interrupt handlers in error path, don't assume that all
    requested interrupts are per-processor interrupts and properly release
    standard interrupts too.
    
    Reported-by: Krzysztof Kozlowski <krzk@kernel.org>
    Fixes: 56a94f13919c ("clocksource: exynos_mct: Avoid blocking calls in the cpu hotplug notifier")
    Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
    Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
    Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
    Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8bdfc04f016633638c46ae99349a4ecd3c0f51bf
Author: Chen-Yu Tsai <wens@csie.org>
Date:   Thu Jan 10 14:22:07 2019 +0800

    clocksource/drivers/sun5i: Fail gracefully when clock rate is unavailable
    
    [ Upstream commit e7e7e0d7beafebd11b0c065cd5fbc1e5759c5aab ]
    
    If the clock tree is not fully populated when the timer-sun5i init code
    is called, attempts to get the clock rate for the timer would fail and
    return 0.
    
    Make the init code for both clock events and clocksource check the
    returned clock rate and fail gracefully if the result is 0, instead of
    causing a divide by 0 exception later on.
    
    Fixes: 4a59058f0b09 ("clocksource/drivers/sun5i: Refactor the current code")
    Signed-off-by: Chen-Yu Tsai <wens@csie.org>
    Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b34abf24f2027f2df1f1c3d994aac9098060ea9a
Author: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Date:   Fri Feb 15 13:56:55 2019 +0200

    perf, pt, coresight: Fix address filters for vmas with non-zero offset
    
    [ Upstream commit c60f83b813e5b25ccd5de7e8c8925c31b3aebcc1 ]
    
    Currently, the address range calculation for file-based filters works as
    long as the vma that maps the matching part of the object file starts
    from offset zero into the file (vm_pgoff==0). Otherwise, the resulting
    filter range would be off by vm_pgoff pages. Another related problem is
    that in case of a partially matching vma, that is, a vma that matches
    part of a filter region, the filter range size wouldn't be adjusted.
    
    Fix the arithmetics around address filter range calculations, taking
    into account vma offset, so that the entire calculation is done before
    the filter configuration is passed to the PMU drivers instead of having
    those drivers do the final bit of arithmetics.
    
    Based on the patch by Adrian Hunter <adrian.hunter.intel.com>.
    
    Reported-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Tested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Acked-by: Peter Zijlstra <peterz@infradead.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Fixes: 375637bc5249 ("perf/core: Introduce address range filtering")
    Link: http://lkml.kernel.org/r/20190215115655.63469-3-alexander.shishkin@linux.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 673f190df0c09cc56903b35b73927a9d673a2d10
Author: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Date:   Fri Feb 15 13:56:54 2019 +0200

    perf: Copy parent's address filter offsets on clone
    
    [ Upstream commit 18736eef12137c59f60cc9f56dc5bea05c92e0eb ]
    
    When a child event is allocated in the inherit_event() path, the VMA
    based filter offsets are not copied from the parent, even though the
    address space mapping of the new task remains the same, which leads to
    no trace for the new task until exec.
    
    Reported-by: Mansour Alharthi <malharthi9@gatech.edu>
    Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Tested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Acked-by: Peter Zijlstra <peterz@infradead.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Fixes: 375637bc5249 ("perf/core: Introduce address range filtering")
    Link: http://lkml.kernel.org/r/20190215115655.63469-2-alexander.shishkin@linux.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 341e4f3e3599563b3a246f7c04589f717dc26cd3
Author: Trond Myklebust <trond.myklebust@hammerspace.com>
Date:   Thu Feb 21 14:51:25 2019 -0500

    NFS: Fix a soft lockup in the delegation recovery code
    
    [ Upstream commit 6f9449be53f3ce383caed797708b332ede8d952c ]
    
    Fix a soft lockup when NFS client delegation recovery is attempted
    but the inode is in the process of being freed. When the
    igrab(inode) call fails, and we have to restart the recovery process,
    we need to ensure that we won't attempt to recover the same delegation
    again.
    
    Fixes: 45870d6909d5a ("NFSv4.1: Test delegation stateids when server...")
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cd35b9353f143b78416e1246f6e92e106b429492
Author: Michael Ellerman <mpe@ellerman.id.au>
Date:   Mon Feb 11 11:20:01 2019 +1100

    powerpc/64s: Fix logic when handling unknown CPU features
    
    [ Upstream commit 8cfaf106918a8c13abb24c641556172afbb9545c ]
    
    In cpufeatures_process_feature(), if a provided CPU feature is unknown and
    enable_unknown is false, we erroneously print that the feature is being
    enabled and return true, even though no feature has been enabled, and
    may also set feature bits based on the last entry in the match table.
    
    Fix this so that we only set feature bits from the match table if we have
    actually enabled a feature from that table, and when failing to enable an
    unknown feature, always print the "not enabling" message and return false.
    
    Coincidentally, some older gccs (<GCC 7), when invoked with
    -fsanitize-coverage=trace-pc, cause a spurious uninitialised variable
    warning in this function:
    
      arch/powerpc/kernel/dt_cpu_ftrs.c: In function ‘cpufeatures_process_feature’:
      arch/powerpc/kernel/dt_cpu_ftrs.c:686:7: warning: ‘m’ may be used uninitialized in this function [-Wmaybe-uninitialized]
        if (m->cpu_ftr_bit_mask)
    
    An upcoming patch will enable support for kcov, which requires this option.
    This patch avoids the warning.
    
    Fixes: 5a61ef74f269 ("powerpc/64s: Support new device tree binding for discovering CPU features")
    Reported-by: Segher Boessenkool <segher@kernel.crashing.org>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    [ajd: add commit message]
    Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cef6cba5c596eb70fe41848b93a0225a0c3a049b
Author: Nathan Chancellor <natechancellor@gmail.com>
Date:   Wed Feb 20 22:25:24 2019 -0700

    staging: rtlwifi: Use proper enum for return in halmac_parse_psd_data_88xx
    
    [ Upstream commit e8edc32d70a4e09160835792eb5d1af71a0eec14 ]
    
    Clang warns:
    
    drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_func_88xx.c:2472:11:
    warning: implicit conversion from enumeration type 'enum
    halmac_cmd_process_status' to different enumeration type 'enum
    halmac_ret_status' [-Wenum-conversion]
                            return HALMAC_CMD_PROCESS_ERROR;
                            ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~
    1 warning generated.
    
    Fix this by using the proper enum for allocation failures,
    HALMAC_RET_MALLOC_FAIL, which is used in the rest of this file.
    
    Fixes: e4b08e16b7d9 ("staging: r8822be: check kzalloc return or bail")
    Link: https://github.com/ClangBuiltLinux/linux/issues/375
    Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
    Reviewed-by: Nicholas Mc Guire <hofrat@osadl.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit eb07716493d72f6547a80fd68e8cf3f51ee60a03
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Wed Jan 30 07:58:38 2019 -0600

    fs/nfs: Fix nfs_parse_devname to not modify it's argument
    
    [ Upstream commit 40cc394be1aa18848b8757e03bd8ed23281f572e ]
    
    In the rare and unsupported case of a hostname list nfs_parse_devname
    will modify dev_name.  There is no need to modify dev_name as the all
    that is being computed is the length of the hostname, so the computed
    length can just be shorted.
    
    Fixes: dc04589827f7 ("NFS: Use common device name parsing logic for NFSv4 and NFSv2/v3")
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0f239ea02939c42e9f6f2c3ef11f329b8661fcb2
Author: Russell King <rmk+kernel@armlinux.org.uk>
Date:   Wed Feb 20 10:32:52 2019 +0000

    net: dsa: fix unintended change of bridge interface STP state
    
    [ Upstream commit 9c2054a5cf415a9dc32c91ffde78399955deb571 ]
    
    When a DSA port is added to a bridge and brought up, the resulting STP
    state programmed into the hardware depends on the order that these
    operations are performed.  However, the Linux bridge code believes that
    the port is in disabled mode.
    
    If the DSA port is first added to a bridge and then brought up, it will
    be in blocking mode.  If it is brought up and then added to the bridge,
    it will be in disabled mode.
    
    This difference is caused by DSA always setting the STP mode in
    dsa_port_enable() whether or not this port is part of a bridge.  Since
    bridge always sets the STP state when the port is added, brought up or
    taken down, it is unnecessary for us to manipulate the STP state.
    
    Apparently, this code was copied from Rocker, and the very next day a
    similar fix for Rocker was merged but was not propagated to DSA.  See
    e47172ab7e41 ("rocker: put port in FORWADING state after leaving bridge")
    
    Fixes: b73adef67765 ("net: dsa: integrate with SWITCHDEV for HW bridging")
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Reviewed-by: Vivien Didelot <vivien.didelot@gmail.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 17c1ffd206d07f70d0ed350faa2fe531b162bc0a
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Feb 19 16:46:50 2019 +0100

    ASoC: qcom: Fix of-node refcount unbalance in apq8016_sbc_parse_of()
    
    [ Upstream commit 8d1667200850f8753c0265fa4bd25c9a6e5f94ce ]
    
    The apq8016 driver leaves the of-node refcount at aborting from the
    loop of for_each_child_of_node() in the error path.  Not only the
    iterator node of for_each_child_of_node(), the children nodes referred
    from it for codec and cpu have to be properly unreferenced.
    
    Fixes: bdb052e81f62 ("ASoC: qcom: add apq8016 sound card support")
    Cc: Patrick Lai <plai@codeaurora.org>
    Cc: Banajit Goswami <bgoswami@codeaurora.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4fe1e6caac16b7bd20eacc1c363351e5d533ac35
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Tue Feb 19 17:53:26 2019 +0100

    driver core: Fix PM-runtime for links added during consumer probe
    
    [ Upstream commit 36003d4cf57ca431fb3f94d317bcca426a2394d6 ]
    
    Commit 4c06c4e6cf63 ("driver core: Fix possible supplier PM-usage
    counter imbalance") introduced a regression that causes suppliers
    to be suspended prematurely for device links added during consumer
    driver probe if the initial PM-runtime status of the consumer is
    "suspended" and the consumer is resumed after adding the link and
    before pm_runtime_put_suppliers() is called.  In that case,
    pm_runtime_put_suppliers() will drop the rpm_active refcount for
    the link by one and (since rpm_active is equal to two after the
    preceding consumer resume) the supplier's PM-runtime usage counter
    will be decremented, which may cause the supplier to suspend even
    though the consumer's PM-runtime status is "active".
    
    For this reason, partially revert commit 4c06c4e6cf63 as the problem
    it tried to fix needs to be addressed somewhat differently, and
    change pm_runtime_get_suppliers() and pm_runtime_put_suppliers() so
    that the latter only drops rpm_active references acquired by the
    former.  [This requires adding a new field to struct device_link,
    but I coulnd't find a cleaner way to address the issue that would
    work in all cases.]
    
    This causes pm_runtime_put_suppliers() to effectively ignore device
    links added during consumer probe, so device_link_add() doesn't need
    to worry about ensuring that suppliers will remain active after
    pm_runtime_put_suppliers() for links created with DL_FLAG_RPM_ACTIVE
    set and it only needs to bump up rpm_active by one for those links,
    so pm_runtime_active_link() is not necessary any more.
    
    Fixes: 4c06c4e6cf63 ("driver core: Fix possible supplier PM-usage counter imbalance")
    Reported-by: Jon Hunter <jonathanh@nvidia.com>
    Tested-by: Jon Hunter <jonathanh@nvidia.com>
    Tested-by: Ulf Hansson <ulf.hansson@linaro.org>
    Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Tested-by: Thierry Reding <treding@nvidia.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f5b0e63613c111c14421cd298be9102d4e9dcd8e
Author: Colin Ian King <colin.king@canonical.com>
Date:   Mon Oct 8 21:47:36 2018 +0100

    drm/nouveau: fix missing break in switch statement
    
    [ Upstream commit 785cf1eeafa23ec63f426d322401054d13abe2a3 ]
    
    The NOUVEAU_GETPARAM_PCI_DEVICE case is missing a break statement and falls
    through to the following NOUVEAU_GETPARAM_BUS_TYPE case and may end up
    re-assigning the getparam->value to an undesired value. Fix this by adding
    in the missing break.
    
    Detected by CoverityScan, CID#1460507 ("Missing break in switch")
    
    Fixes: 359088d5b8ec ("drm/nouveau: remove trivial cases of nvxx_device() usage")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Reviewed-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 99028d131f457196f073c3eed7156a75d300c1ed
Author: Colin Ian King <colin.king@canonical.com>
Date:   Wed Dec 19 15:29:49 2018 +0000

    drm/nouveau/pmu: don't print reply values if exec is false
    
    [ Upstream commit b1d03fc36ec9834465a08c275c8d563e07f6f6bf ]
    
    Currently the uninitialized values in the array reply are printed out
    when exec is false and nvkm_pmu_send has not updated the array. Avoid
    confusion by only dumping out these values if they have been actually
    updated.
    
    Detected by CoverityScan, CID#1271291 ("Uninitialized scaler variable")
    Fixes: ebb58dc2ef8c ("drm/nouveau/pmu: rename from pwr (no binary change)")
    
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b03bf452b4f687b7d6661472c48165532141fa58
Author: Colin Ian King <colin.king@canonical.com>
Date:   Sun Nov 25 17:09:18 2018 +0000

    drm/nouveau/bios/ramcfg: fix missing parentheses when calculating RON
    
    [ Upstream commit 13649101a25c53c87f4ab98a076dfe61f3636ab1 ]
    
    Currently, the expression for calculating RON is always going to result
    in zero no matter the value of ram->mr[1] because the ! operator has
    higher precedence than the shift >> operator.  I believe the missing
    parentheses around the expression before appying the ! operator will
    result in the desired result.
    
    [ Note, not tested ]
    
    Detected by CoveritScan, CID#1324005 ("Operands don't affect result")
    
    Fixes: c25bf7b6155c ("drm/nouveau/bios/ramcfg: Separate out RON pull value")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9cef92d809914c64025fe8a47af9d6a2bce35e43
Author: Leon Romanovsky <leon@kernel.org>
Date:   Sun Feb 17 15:21:28 2019 +0200

    net/mlx5: Delete unused FPGA QPN variable
    
    [ Upstream commit 566428375a53619196e31803130dd1a7010c4d7f ]
    
    fpga_qpn was assigned but never used and compilation with W=1
    produced the following warning:
    
    drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c: In function _mlx5_fpga_event_:
    drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c:320:6: warning:
    variable _fpga_qpn_ set but not used [-Wunused-but-set-variable]
      u32 fpga_qpn;
          ^~~~~~~~
    
    Fixes: 98db16bab59f ("net/mlx5: FPGA, Handle QP error event")
    Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4da9a15e9c5f8959d8a5bb10611333faab93147e
Author: Vinod Koul <vkoul@kernel.org>
Date:   Tue Feb 19 12:29:43 2019 +0530

    net: dsa: qca8k: Enable delay for RGMII_ID mode
    
    [ Upstream commit a968b5e9d5879f9535d6099505f9e14abcafb623 ]
    
    RGMII_ID specifies that we should have internal delay, so resurrect the
    delay addition routine but under the RGMII_ID mode.
    
    Fixes: 40269aa9f40a ("net: dsa: qca8k: disable delay for RGMII mode")
    Tested-by: Michal Vokáč <michal.vokac@ysoft.com>
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 87e2846dd5ae8c1e616080942d7ed2d50d57d5c2
Author: Axel Lin <axel.lin@ingics.com>
Date:   Tue Feb 19 18:00:02 2019 +0800

    regulator: pv88090: Fix array out-of-bounds access
    
    [ Upstream commit a5455c9159414748bed4678184bf69989a4f7ba3 ]
    
    Fix off-by-one while iterating current_limits array.
    The valid index should be 0 ~ n_current_limits -1.
    
    Fixes: c90456e36d9c ("regulator: pv88090: new regulator driver")
    Signed-off-by: Axel Lin <axel.lin@ingics.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fe8d74c8190482e09a34862b64dee60f3c4253e1
Author: Axel Lin <axel.lin@ingics.com>
Date:   Tue Feb 19 18:00:01 2019 +0800

    regulator: pv88080: Fix array out-of-bounds access
    
    [ Upstream commit 3c413f594c4f9df40061445667ca11a12bc8ee34 ]
    
    Fix off-by-one while iterating current_limits array.
    The valid index should be 0 ~ n_current_limits -1.
    
    Fixes: 99cf3af5e2d5 ("regulator: pv88080: new regulator driver")
    Signed-off-by: Axel Lin <axel.lin@ingics.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 25920137367b37c2c3ae559c3d8ff959e4ac7482
Author: Axel Lin <axel.lin@ingics.com>
Date:   Tue Feb 19 18:00:00 2019 +0800

    regulator: pv88060: Fix array out-of-bounds access
    
    [ Upstream commit 7cd415f875591bc66c5ecb49bf84ef97e80d7b0e ]
    
    Fix off-by-one while iterating current_limits array.
    The valid index should be 0 ~ n_current_limits -1.
    
    Fixes: f307a7e9b7af ("regulator: pv88060: new regulator driver")
    Signed-off-by: Axel Lin <axel.lin@ingics.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f27808ed8c147e178e77404eb7719ef3a96bf5e7
Author: Arend van Spriel <arend.vanspriel@broadcom.com>
Date:   Thu Feb 14 13:43:49 2019 +0100

    brcmfmac: create debugfs files for bus-specific layer
    
    [ Upstream commit aaf6a5e86e36766abbeedf220462bde8031f9a72 ]
    
    Since we moved the drivers debugfs directory under ieee80211 debugfs the
    debugfs entries need to be added after wiphy_register() has been called.
    For most part that has been done accordingly, but for the debugfs entries
    added by SDIO it was not and failed silently. This patch fixes that by
    adding a bus-layer callback for it.
    
    Fixes: 856d5a011c86 ("brcmfmac: allocate struct brcmf_pub instance using wiphy_new()")
    Reported-by: Russel King <linux@armlinux.org.uk>
    Reviewed-by: Franky Lin <franky.lin@broadcom.com>
    Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7b6bc967cc2c88d3f192108e613ca9a8b1d34780
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Mon Feb 18 22:34:51 2019 +0800

    cdc-wdm: pass return value of recover_from_urb_loss
    
    [ Upstream commit 0742a338f5b3446a26de551ad8273fb41b2787f2 ]
    
    'rv' is the correct return value, pass it upstream instead of 0
    
    Fixes: 17d80d562fd7 ("USB: autosuspend for cdc-wdm")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 109826fb59c10adadf91b7f5e96a7e64677032d6
Author: Robin Murphy <robin.murphy@arm.com>
Date:   Mon Feb 18 18:27:06 2019 +0000

    dmaengine: mv_xor: Use correct device for DMA API
    
    [ Upstream commit 3e5daee5ecf314da33a890fabaa2404244cd2a36 ]
    
    Using dma_dev->dev for mappings before it's assigned with the correct
    device is unlikely to work as expected, and with future dma-direct
    changes, passing a NULL device may end up crashing entirely. I don't
    know enough about this hardware or the mv_xor_prep_dma_interrupt()
    operation to implement the appropriate error-handling logic that would
    have revealed those dma_map_single() calls failing on arm64 for as long
    as the driver has been enabled there, but moving the assignment earlier
    will at least make the current code operate as intended.
    
    Fixes: 22843545b200 ("dma: mv_xor: Add support for DMA_INTERRUPT")
    Reported-by: John David Anglin <dave.anglin@bell.net>
    Tested-by: John David Anglin <dave.anglin@bell.net>
    Signed-off-by: Robin Murphy <robin.murphy@arm.com>
    Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
    Tested-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 68cbfad8477fad4c85e8482f6ff0d2204ef81f28
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Fri Feb 15 10:24:22 2019 +0100

    staging: r8822be: check kzalloc return or bail
    
    [ Upstream commit e4b08e16b7d9d030b6475ef48f94d734a39f3c81 ]
    
    The kzalloc() in halmac_parse_psd_data_88xx() can fail and return NULL
    so check the psd_set->data after allocation and if allocation failed
    return HALMAC_CMD_PROCESS_ERROR.
    
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Fixes: 938a0447f094 ("staging: r8822be: Add code for halmac sub-drive")
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c7d9ff454f57bd90af0949ad99677c4fb6f2e996
Author: Alexey Kardashevskiy <aik@ozlabs.ru>
Date:   Tue Feb 12 15:37:45 2019 +1100

    KVM: PPC: Release all hardware TCE tables attached to a group
    
    [ Upstream commit a67614cc05a5052b265ea48196dab2fce11f5f2e ]
    
    The SPAPR TCE KVM device references all hardware IOMMU tables assigned to
    some IOMMU group to ensure that in-kernel KVM acceleration of H_PUT_TCE
    can work. The tables are references when an IOMMU group gets registered
    with the VFIO KVM device by the KVM_DEV_VFIO_GROUP_ADD ioctl;
    KVM_DEV_VFIO_GROUP_DEL calls into the dereferencing code
    in kvm_spapr_tce_release_iommu_group() which walks through the list of
    LIOBNs, finds a matching IOMMU table and calls kref_put() when found.
    
    However that code stops after the very first successful derefencing
    leaving other tables referenced till the SPAPR TCE KVM device is destroyed
    which normally happens on guest reboot or termination so if we do hotplug
    and unplug in a loop, we are leaking IOMMU tables here.
    
    This removes a premature return to let kvm_spapr_tce_release_iommu_group()
    find and dereference all attached tables.
    
    Fixes: 121f80ba68f ("KVM: PPC: VFIO: Add in-kernel acceleration for VFIO")
    Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e51170e7e7d7c8218823b3155f3edcb5350b8f12
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Sat Feb 16 10:59:35 2019 +0800

    mdio_bus: Fix PTR_ERR() usage after initialization to constant
    
    [ Upstream commit 780feae7eb69388c8d8b661cda6706b0dc0f642b ]
    
    Fix coccinelle warning:
    
    ./drivers/net/phy/mdio_bus.c:51:5-12: ERROR: PTR_ERR applied after initialization to constant on line 44
    ./drivers/net/phy/mdio_bus.c:52:5-12: ERROR: PTR_ERR applied after initialization to constant on line 44
    
    fix this by using IS_ERR before PTR_ERR
    
    Fixes: bafbdd527d56 ("phylib: Add device reset GPIO support")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit dd19e541758882a2aea3f85412c0ba61b6481056
Author: Vadim Pasternak <vadimp@mellanox.com>
Date:   Mon Feb 18 19:54:40 2019 +0000

    hwmon: (pmbus/tps53679) Fix driver info initialization in probe routine
    
    [ Upstream commit ff066653aeed8ee2d4dadb1e35774dd91ecbb19f ]
    
    Fix tps53679_probe() by using dynamically allocated "pmbus_driver_info"
    structure instead of static. Usage of static structures causes
    overwritten of the field "vrm_version", in case the system is equipped
    with several tps53679 devices with the different "vrm_version".
    In such case the last probed device overwrites this field for all
    others.
    
    Fixes: 610526527a13 ("hwmon: (pmbus) Add support for Texas Instruments tps53679 device")
    Signed-off-by: Vadim Pasternak <vadimp@mellanox.com>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c8fa33f8315353035dece3e3ff24e4b21b05b5b0
Author: Eric Auger <eric.auger@redhat.com>
Date:   Fri Feb 15 17:16:06 2019 +0100

    vfio_pci: Enable memory accesses before calling pci_map_rom
    
    [ Upstream commit 0cfd027be1d6def4a462cdc180c055143af24069 ]
    
    pci_map_rom/pci_get_rom_size() performs memory access in the ROM.
    In case the Memory Space accesses were disabled, readw() is likely
    to trigger a synchronous external abort on some platforms.
    
    In case memory accesses were disabled, re-enable them before the
    call and disable them back again just after.
    
    Fixes: 89e1f7d4c66d ("vfio: Add PCI device driver")
    Signed-off-by: Eric Auger <eric.auger@redhat.com>
    Suggested-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7aa3aab0e2f865b1298e9e7b672aa554a31fdedd
Author: Jacopo Mondi <jacopo+renesas@jmondi.org>
Date:   Tue Feb 5 14:37:42 2019 -0500

    media: sh: migor: Include missing dma-mapping header
    
    [ Upstream commit 5c88ee02932a964096cbbcc7c9f38b78d230bacb ]
    
    Since the removal of the stale soc_camera headers, Migo-R board fails to
    build due to missing dma-mapping include directive.
    
    Include missing dma-mapping.h header in Migo-R board file to fix the build
    error.
    
    Fixes: a50c7738e8ae ("media: sh: migor: Remove stale soc_camera include")
    
    Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 379ba928959a964d9db7d9291caa290815982606
Author: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Date:   Sun Feb 10 22:49:14 2019 +0100

    mt76: usb: fix possible memory leak in mt76u_buf_free
    
    [ Upstream commit cb83585e1121bd6d6c039cf09fa32380bf8b6258 ]
    
    Move q->ndesc initialization before the for loop in mt76u_alloc_rx
    since otherwise allocated urbs will not be freed in mt76u_buf_free
    Double-check scatterlist pointer in mt76u_buf_free
    
    Fixes: b40b15e1521f ("mt76: add usb support to mt76 layer")
    Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
    Signed-off-by: Felix Fietkau <nbd@nbd.name>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4738e916fb3c2f3fdc2a286ede43dc7a7b50132a
Author: Florian Fainelli <f.fainelli@gmail.com>
Date:   Fri Feb 15 12:16:53 2019 -0800

    net: dsa: b53: Do not program CPU port's PVID
    
    [ Upstream commit 10163aaee9671b01b2f4737922e1a4f43581047a ]
    
    The CPU port is special and does not need to obey VLAN restrictions as
    far as untagged traffic goes, also, having the CPU port be part of a
    particular PVID is against the idea of keeping it tagged in all VLANs.
    
    Fixes: ca8931948344 ("net: dsa: b53: Keep CPU port as tagged in all VLANs")
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6cccec2e982a6081266135594eef2f8939ef07e1
Author: Florian Fainelli <f.fainelli@gmail.com>
Date:   Fri Feb 15 12:16:50 2019 -0800

    net: dsa: b53: Properly account for VLAN filtering
    
    [ Upstream commit dad8d7c6452b5b9f9828c9e2c7ca143205fd40c7 ]
    
    VLAN filtering can be built into the kernel, and also dynamically turned
    on/off through the bridge master device. Allow re-configuring the switch
    appropriately to account for that by deciding whether VLAN table
    (v_table) misses should lead to a drop or forward.
    
    Fixes: a2482d2ce349 ("net: dsa: b53: Plug in VLAN support")
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8234d30d8e95d673f5e5117768299902e48b8138
Author: Florian Fainelli <f.fainelli@gmail.com>
Date:   Fri Feb 15 12:16:49 2019 -0800

    net: dsa: b53: Fix default VLAN ID
    
    [ Upstream commit fea83353177a55540c71c140887737c282137aa2 ]
    
    We were not consistent in how the default VID of a given port was
    defined, b53_br_leave() would make sure the VLAN ID would be either 0/1
    depending on the switch generation, but b53_configure_vlan(), which is
    the default configuration would unconditionally set it to 1. The correct
    value is 1 for 5325/5365 series and 0 otherwise. To avoid repeating that
    mistake ever again, introduce a helper function: b53_default_pvid() to
    factor that out.
    
    Fixes: 967dd82ffc52 ("net: dsa: b53: Add support for Broadcom RoboSwitch")
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0abc0d523aa25d4e993c266374e7a807d5897461
Author: David Howells <dhowells@redhat.com>
Date:   Thu Feb 14 16:20:37 2019 +0000

    keys: Timestamp new keys
    
    [ Upstream commit 7c1857bdbdf1e4c541e45eab477ee23ed4333ea4 ]
    
    Set the timestamp on new keys rather than leaving it unset.
    
    Fixes: 31d5a79d7f3d ("KEYS: Do LRU discard in full keyrings")
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: James Morris <james.morris@microsoft.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b77f9249e60ff1bea923e2205c7be063b9964747
Author: Ming Lei <ming.lei@redhat.com>
Date:   Fri Feb 15 19:13:08 2019 +0800

    block: don't use bio->bi_vcnt to figure out segment number
    
    [ Upstream commit 1a67356e9a4829da2935dd338630a550c59c8489 ]
    
    It is wrong to use bio->bi_vcnt to figure out how many segments
    there are in the bio even though CLONED flag isn't set on this bio,
    because this bio may be splitted or advanced.
    
    So always use bio_segments() in blk_recount_segments(), and it shouldn't
    cause any performance loss now because the physical segment number is figured
    out in blk_queue_split() and BIO_SEG_VALID is set meantime since
    bdced438acd83ad83a6c ("block: setup bi_phys_segments after splitting").
    
    Reviewed-by: Omar Sandoval <osandov@fb.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Fixes: 76d8137a3113 ("blk-merge: recaculate segment if it isn't less than max segments")
    Signed-off-by: Ming Lei <ming.lei@redhat.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fa7d3a65f34cdff3ef10f3ebe99c4923a6fc2806
Author: Sven Van Asbroeck <thesven73@gmail.com>
Date:   Mon Feb 11 10:04:26 2019 -0500

    usb: phy: twl6030-usb: fix possible use-after-free on remove
    
    [ Upstream commit 5895d311d28f2605e2f71c1a3e043ed38f3ac9d2 ]
    
    In remove(), use cancel_delayed_work_sync() to cancel the
    delayed work. Otherwise there's a chance that this work
    will continue to run until after the device has been removed.
    
    This issue was detected with the help of Coccinelle.
    
    Cc: Tony Lindgren <tony@atomide.com>
    Cc: Bin Liu <b-liu@ti.com>
    Fixes: b6a619a883c3 ("usb: phy: Check initial state for twl6030")
    Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1dfd97f0b1bd1691fc97900806b024bdc0c9f60b
Author: Wen Yang <wen.yang99@zte.com.cn>
Date:   Mon Feb 11 17:04:00 2019 +0800

    PCI: endpoint: functions: Use memcpy_fromio()/memcpy_toio()
    
    [ Upstream commit 726dabfde6aa35a4f1508e235ae37edbbf9fbc65 ]
    
    Functions copying from/to IO addresses should use the
    memcpy_fromio()/memcpy_toio() API rather than plain memcpy().
    
    Fix the issue detected through the sparse tool.
    
    Fixes: 349e7a85b25f ("PCI: endpoint: functions: Add an EP function to test PCI")
    Suggested-by: Kishon Vijay Abraham I <kishon@ti.com>
    Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
    [lorenzo.pieralisi@arm.com: updated log]
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
    CC: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    CC: Bjorn Helgaas <bhelgaas@google.com>
    CC: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
    CC: Niklas Cassel <niklas.cassel@axis.com>
    CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    CC: Cyrille Pitchen <cyrille.pitchen@free-electrons.com>
    CC: linux-pci@vger.kernel.org
    CC: linux-kernel@vger.kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3d6b7c14f88f11fd835c1947c149545d393f3fad
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Tue Feb 12 13:08:10 2019 +0100

    driver core: Fix possible supplier PM-usage counter imbalance
    
    [ Upstream commit 4c06c4e6cf63d7f3d5dfe62593a073253d750a59 ]
    
    If a stateless device link to a certain supplier with
    DL_FLAG_PM_RUNTIME set in the flags is added and then removed by the
    consumer driver's probe callback, the supplier's PM-runtime usage
    counter will be nonzero after that which effectively causes the
    supplier to remain "always on" going forward.
    
    Namely, device_link_add() called to add the link invokes
    device_link_rpm_prepare() which notices that the consumer driver is
    probing, so it increments the supplier's PM-runtime usage counter
    with the assumption that the link will stay around until
    pm_runtime_put_suppliers() is called by driver_probe_device(),
    but if the link goes away before that point, the supplier's
    PM-runtime usage counter will remain nonzero.
    
    To prevent that from happening, first rework pm_runtime_get_suppliers()
    and pm_runtime_put_suppliers() to use the rpm_active refounts of device
    links and make the latter only drop rpm_active and the supplier's
    PM-runtime usage counter for each link by one, unless rpm_active is
    one already for it.  Next, modify device_link_add() to bump up the
    new link's rpm_active refcount and the suppliers PM-runtime usage
    counter by two, to prevent pm_runtime_put_suppliers(), if it is
    called subsequently, from suspending the supplier prematurely (in
    case its PM-runtime usage counter goes down to 0 in there).
    
    Due to the way rpm_put_suppliers() works, this change does not
    affect runtime suspend of the consumer ends of new device links (or,
    generally, device links for which DL_FLAG_PM_RUNTIME has just been
    set).
    
    Fixes: e2f3cd831a28 ("driver core: Fix handling of runtime PM flags in device_link_add()")
    Reported-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
    Tested-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0ed24039e2c98062e638c6030c17ebe569ca426a
Author: Mark Bloch <markb@mellanox.com>
Date:   Mon Feb 11 17:40:54 2019 +0200

    RDMA/mlx5: Fix memory leak in case we fail to add an IB device
    
    [ Upstream commit fc9e4477f924e84d7798f7a1d41401d699de1219 ]
    
    Make sure the IB device is freed on failure.
    
    Fixes: b5ca15ad7e61 ("IB/mlx5: Add proper representors support")
    Signed-off-by: Mark Bloch <markb@mellanox.com>
    Reviewed-by: Bodong Wang <bodong@mellanox.com>
    Reviewed-by: HÃ¥kon Bugge <haakon.bugge@oracle.com>
    Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b9f664809bd59d70d2e2a49559d54dbb242d6392
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Jan 23 16:51:21 2019 +0100

    pinctrl: sh-pfc: sh73a0: Fix fsic_spdif pin groups
    
    [ Upstream commit 0e6e448bdcf896d001a289a6112a704542d51516 ]
    
    There are two pin groups for the FSIC SPDIF signal, but the FSIC pin
    group array lists only one, and it refers to a nonexistent group.
    
    Fixes: 2ecd4154c906b7d6 ("sh-pfc: sh73a0: Add FSI pin groups and functions")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a78f79bd625dd3718a5cf83a65bb3b0caa558e93
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Jan 23 17:14:07 2019 +0100

    pinctrl: sh-pfc: r8a7792: Fix vin1_data18_b pin group
    
    [ Upstream commit b9fd50488b4939ce5b3a026d29e752e17c2d1800 ]
    
    The vin1_data18_b pin group itself is present, but it is not listed in
    the VIN1 pin group array, and thus cannot be selected.
    
    Fixes: 7dd74bb1f058786e ("pinctrl: sh-pfc: r8a7792: Add VIN pin groups")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8d7acfda2391336651484721390e838fe5fe6221
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Jan 23 17:07:43 2019 +0100

    pinctrl: sh-pfc: r8a7791: Fix scifb2_data_c pin group
    
    [ Upstream commit a4b0350047f1b10207e25e72d7cd3f7826e93769 ]
    
    The entry for "scifb2_data_c" in the SCIFB2 pin group array contains a
    typo, thus the group cannot be selected.
    
    Fixes: 5088451962389924 ("pinctrl: sh-pfc: r8a7791 PFC support")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 334c4a0de41bdcf0c85daa916f85089eb8d092df
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Thu Jan 24 13:04:52 2019 +0100

    pinctrl: sh-pfc: emev2: Add missing pinmux functions
    
    [ Upstream commit 1ecd8c9cb899ae277e6986ae134635cb1a50f5de ]
    
    The err_rst_reqb, ext_clki, lowpwr, and ref_clko pin groups are present,
    but no pinmux functions refer to them, hence they can not be selected.
    
    Fixes: 1e7d5d849cf4f0c5 ("sh-pfc: Add emev2 pinmux support")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a4150dee7b4c4c5ab0e8de256af5e95cf0ea5e80
Author: Wesley Sheng <wesley.sheng@microchip.com>
Date:   Thu Dec 6 21:30:51 2018 +0800

    ntb_hw_switchtec: NT req id mapping table register entry number should be 512
    
    [ Upstream commit d123fab71f63aae129aebe052664fda73131921a ]
    
    The number of available NT req id mapping table entries per NTB control
    register is 512. The driver mistakenly limits the number to 256.
    
    Fix the array size of NT req id mapping table.
    
    Fixes: c082b04c9d40 ("NTB: switchtec: Add NTB hardware register definitions")
    Signed-off-by: Wesley Sheng <wesley.sheng@microchip.com>
    Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
    Signed-off-by: Jon Mason <jdmason@kudzu.us>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 10efc08b05e494aa1511210b25e355b2910daf95
Author: Paul Selles <paul.selles@microchip.com>
Date:   Thu Dec 6 21:30:50 2018 +0800

    ntb_hw_switchtec: debug print 64bit aligned crosslink BAR Numbers
    
    [ Upstream commit cce8e04cf79e47809455215744685e8eb56f94bb ]
    
    Switchtec NTB crosslink BARs are 64bit addressed but they are printed as
    32bit addressed BARs. Fix debug log to increment the BAR numbers by 2 to
    reflect the 64bit address alignment.
    
    Fixes: 017525018202 ("ntb_hw_switchtec: Add initialization code for crosslink")
    Signed-off-by: Paul Selles <paul.selles@microchip.com>
    Signed-off-by: Wesley Sheng <wesley.sheng@microchip.com>
    Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
    Signed-off-by: Jon Mason <jdmason@kudzu.us>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a4bf79da352f8bf0a4999d241b7ebf4c5316334f
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Tue Feb 5 12:08:19 2019 +0300

    drm/etnaviv: potential NULL dereference
    
    [ Upstream commit 9e05352340d3a3e68c144136db9810b26ebb88c3 ]
    
    The etnaviv_gem_prime_get_sg_table() is supposed to return error
    pointers.  Otherwise it can lead to a NULL dereference when it's called
    from drm_gem_map_dma_buf().
    
    Fixes: 5f4a4a73f437 ("drm/etnaviv: fix gem_prime_get_sg_table to return new SG table")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
    Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9aea648830b3709b32d898dc592b6aa5a3273379
Author: Magnus Karlsson <magnus.karlsson@intel.com>
Date:   Fri Feb 8 14:13:50 2019 +0100

    xsk: add missing smp_rmb() in xsk_mmap
    
    [ Upstream commit e6762c8bcf982821935a2b1cb33cf8335d0eefae ]
    
    All the setup code in AF_XDP is protected by a mutex with the
    exception of the mmap code that cannot use it. To make sure that a
    process banging on the mmap call at the same time as another process
    is setting up the socket, smp_wmb() calls were added in the umem
    registration code and the queue creation code, so that the published
    structures that xsk_mmap needs would be consistent. However, the
    corresponding smp_rmb() calls were not added to the xsk_mmap
    code. This patch adds these calls.
    
    Fixes: 37b076933a8e3 ("xsk: add missing write- and data-dependency barrier")
    Fixes: c0c77d8fb787c ("xsk: add user memory registration support sockopt")
    Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7bfcb0230e4a99aecdec1482edd88dec49f1c7ef
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Wed Nov 21 16:08:25 2018 +0100

    ipmi: kcs_bmc: handle devm_kasprintf() failure case
    
    [ Upstream commit 42c7c6ef1e6fa5fc0425120f06f045190b1dda2d ]
    
    devm_kasprintf() may return NULL if internal allocation failed so this
    assignment is not safe. Moved the error exit path and added the !NULL
    which then allows the devres manager to take care of cleanup.
    
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Fixes: cd2315d471f4 ("ipmi: kcs_bmc: don't change device name")
    Signed-off-by: Corey Minyard <cminyard@mvista.com>
    Reviewed-by: Haiyue Wang <haiyue.wang@linux.intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a1358d487d40c7434c607a7157218f9001285639
Author: Steve Wise <larrystevenwise@gmail.com>
Date:   Fri Feb 1 12:44:53 2019 -0800

    iw_cxgb4: use tos when finding ipv6 routes
    
    [ Upstream commit c8a7eb554a83214c3d8ee5cb322da8c72810d2dc ]
    
    When IPv6 support was added, the correct tos was not passed to
    cxgb_find_route6(). This potentially results in the wrong route entry.
    
    Fixes: 830662f6f032 ("RDMA/cxgb4: Add support for active and passive open connection with IPv6 address")
    Signed-off-by: Steve Wise <swise@opengridcomputing.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8931b890696a7236b3dd95e4eb6c4bca7f42de4e
Author: Steve Wise <larrystevenwise@gmail.com>
Date:   Fri Feb 1 12:44:41 2019 -0800

    iw_cxgb4: use tos when importing the endpoint
    
    [ Upstream commit cb3ba0bde881f0cb7e3945d2a266901e2bd18c92 ]
    
    import_ep() is passed the correct tos, but doesn't use it correctly.
    
    Fixes: ac8e4c69a021 ("cxgb4/iw_cxgb4: TOS support")
    Signed-off-by: Steve Wise <swise@opengridcomputing.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4e07cae06ffc3f725692bd6534ce71d623e4bfa6
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Fri Feb 8 19:24:45 2019 +0100

    fbdev: chipsfb: remove set but not used variable 'size'
    
    [ Upstream commit 8e71fa5e4d86bedfd26df85381d65d6b4c860020 ]
    
    Fixes gcc '-Wunused-but-set-variable' warning:
    
    drivers/video/fbdev/chipsfb.c: In function 'chipsfb_pci_init':
    drivers/video/fbdev/chipsfb.c:352:22: warning:
     variable 'size' set but not used [-Wunused-but-set-variable]
    
    Fixes: 8c8709334cec ("[PATCH] ppc32: Remove CONFIG_PMAC_PBOOK").
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Acked-by: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Christophe Leroy <christophe.leroy@c-s.fr>
    [b.zolnierkie: minor commit summary and description fixups]
    Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9d81d6a036f83b2fd6af273bc6f3b783816215cb
Author: Colin Ian King <colin.king@canonical.com>
Date:   Wed Feb 6 10:31:02 2019 +0000

    rtc: pm8xxx: fix unintended sign extension
    
    [ Upstream commit e42280886018c6f77f0a90190f7cba344b0df3e0 ]
    
    Shifting a u8 by 24 will cause the value to be promoted to an integer. If
    the top bit of the u8 is set then the following conversion to an unsigned
    long will sign extend the value causing the upper 32 bits to be set in
    the result.
    
    Fix this by casting the u8 value to an unsigned long before the shift.
    
    Detected by CoverityScan, CID#1309693 ("Unintended sign extension")
    
    Fixes: 9a9a54ad7aa2 ("drivers/rtc: add support for Qualcomm PMIC8xxx RTC")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0f45d44655c211d172884968d4f2cacef72a276b
Author: Colin Ian King <colin.king@canonical.com>
Date:   Wed Feb 6 10:08:11 2019 +0000

    rtc: 88pm80x: fix unintended sign extension
    
    [ Upstream commit fb0b322537a831b5b0cb948c56f8f958ce493d3a ]
    
    Shifting a u8 by 24 will cause the value to be promoted to an integer. If
    the top bit of the u8 is set then the following conversion to an unsigned
    long will sign extend the value causing the upper 32 bits to be set in
    the result.
    
    Fix this by casting the u8 value to an unsigned long before the shift.
    
    Detected by CoverityScan, CID#714646-714649 ("Unintended sign extension")
    
    Fixes: 2985c29c1964 ("rtc: Add rtc support to 88PM80X PMIC")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4260a44a7d4e54faa974cb21d42e9ae752b52392
Author: Colin Ian King <colin.king@canonical.com>
Date:   Wed Feb 6 09:50:53 2019 +0000

    rtc: 88pm860x: fix unintended sign extension
    
    [ Upstream commit dc9e47160626cdb58d5c39a4f43dcfdb27a5c004 ]
    
    Shifting a u8 by 24 will cause the value to be promoted to an integer. If
    the top bit of the u8 is set then the following conversion to an unsigned
    long will sign extend the value causing the upper 32 bits to be set in
    the result.
    
    Fix this by casting the u8 value to an unsigned long before the shift.
    
    Detected by CoverityScan, CID#144925-144928 ("Unintended sign extension")
    
    Fixes: 008b30408c40 ("mfd: Add rtc support to 88pm860x")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 558dac2418b6d8001bc6c3416380a90b50773f57
Author: Karsten Graul <kgraul@linux.ibm.com>
Date:   Thu Feb 7 15:56:20 2019 +0100

    net/smc: original socket family in inet_sock_diag
    
    [ Upstream commit 232dc8ef647658a5352da807d9e994e0e03b43cd ]
    
    Commit ed75986f4aae ("net/smc: ipv6 support for smc_diag.c") changed the
    value of the diag_family field. The idea was to indicate the family of
    the IP address in the inet_diag_sockid field. But the change makes it
    impossible to distinguish an inet_sock_diag response message from SMC
    sock_diag response. This patch restores the original behaviour and sends
    AF_SMC as value of the diag_family field.
    
    Fixes: ed75986f4aae ("net/smc: ipv6 support for smc_diag.c")
    Reported-by: Eugene Syromiatnikov <esyr@redhat.com>
    Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
    Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8ea53f91d41909f1af9719dceb8c86afc3107bba
Author: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date:   Fri Jan 25 15:35:58 2019 +0100

    rtc: ds1307: rx8130: Fix alarm handling
    
    [ Upstream commit 3f929cad943380370b6db31fcb7a38d898d91089 ]
    
    When the EXTENSION.WADA bit is set, register 0x19 contains a bitmap of
    week days, not a day of month. As Linux only handles a single alarm
    without repetition using day of month is more flexible, so clear this
    bit. (Otherwise a value depending on time.tm_wday would have to be
    written to register 0x19.)
    
    Also optimize setting the AIE bit to use a single register write instead
    of a bulk write of three registers.
    
    Fixes: ee0981be7704 ("rtc: ds1307: Add support for Epson RX8130CE")
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 57738dd2709835fc45682afa0885a870d62ca51e
Author: Moritz Fischer <mdf@kernel.org>
Date:   Wed Feb 6 21:45:29 2019 -0800

    net: phy: fixed_phy: Fix fixed_phy not checking GPIO
    
    [ Upstream commit 8f289805616e81f7c1690931aa8a586c76f4fa88 ]
    
    Fix fixed_phy not checking GPIO if no link_update callback
    is registered.
    
    In the original version all users registered a link_update
    callback so the issue was masked.
    
    Fixes: a5597008dbc2 ("phy: fixed_phy: Add gpio to determine link up/down.")
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: Moritz Fischer <mdf@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0cef474e23e7f1a39b3221a99cf891bee6245863
Author: Rakesh Pillai <pillair@codeaurora.org>
Date:   Fri Jan 25 09:51:06 2019 +0530

    ath10k: fix dma unmap direction for management frames
    
    [ Upstream commit 6e8a8991e2103dcb6a9cff28f460390e8e360848 ]
    
    The management frames transmitted are dma mapped with
    direction TO_DEVICE, but incorrectly mapped with
    direction FROM_DEVICE during tx complete and error cases.
    
    Fix the direction of dma during dma unmap of the
    transmitted management frames.
    
    Tested HW: WCN3990
    Tested FW: WLAN.HL.2.0-01188-QCAHLSWMTPLZ-1
    
    Fixes: 38a1390e02b7 ("ath10k: dma unmap mgmt tx buffer if wmi cmd send fails")
    Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ed14fe842e002da07d5981a907a0b2168175c48b
Author: Niklas Cassel <niklas.cassel@linaro.org>
Date:   Thu Jan 24 13:45:08 2019 +0100

    arm64: dts: msm8916: remove bogus argument to the cpu clock
    
    [ Upstream commit e4f045ef38e61ba37aa4afc916fce4fc1b37aa19 ]
    
    The apcs node has #clock-cells = <0>, which means that those who
    references it should specify 0 arguments.
    
    The apcs reference in the cpu node incorrectly specifies an argument,
    remove this bogus argument.
    
    Fixes: 65afdf458360 ("arm64: dts: qcom: msm8916: Add CPU frequency scaling support")
    Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
    Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
    Signed-off-by: Andy Gross <andy.gross@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 82871fb713b57aaed9e3c61134569f8843c10e94
Author: Michael Kao <michael.kao@mediatek.com>
Date:   Fri Feb 1 15:38:07 2019 +0800

    thermal: mediatek: fix register index error
    
    [ Upstream commit eb9aecd90d1a39601e91cd08b90d5fee51d321a6 ]
    
    The index of msr and adcpnp should match the sensor
    which belongs to the selected bank in the for loop.
    
    Fixes: b7cf0053738c ("thermal: Add Mediatek thermal driver for mt2701.")
    Signed-off-by: Michael Kao <michael.kao@mediatek.com>
    Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5196cfb68ee6caf002399d88cb76b9768182e235
Author: Colin Ian King <colin.king@canonical.com>
Date:   Tue Feb 5 18:04:49 2019 +0000

    rtc: ds1672: fix unintended sign extension
    
    [ Upstream commit f0c04c276739ed8acbb41b4868e942a55b128dca ]
    
    Shifting a u8 by 24 will cause the value to be promoted to an integer. If
    the top bit of the u8 is set then the following conversion to an unsigned
    long will sign extend the value causing the upper 32 bits to be set in
    the result.
    
    Fix this by casting the u8 value to an unsigned long before the shift.
    
    Detected by CoverityScan, CID#138801 ("Unintended sign extension")
    
    Fixes: edf1aaa31fc5 ("[PATCH] RTC subsystem: DS1672 driver")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bb35bf0e83a0e01787e89d04b77496ae9ef41c89
Author: Paul Cercueil <paul@crapouillou.net>
Date:   Fri Jan 25 12:34:36 2019 -0300

    clk: ingenic: jz4740: Fix gating of UDC clock
    
    [ Upstream commit b7e29924a1a628aec60d18651b493fa1601bf944 ]
    
    The UDC clock is gated when the bit is cleared, not when it is set.
    
    Signed-off-by: Paul Cercueil <paul@crapouillou.net>
    Tested-by: Artur Rojek <contact@artur-rojek.eu>
    Fixes: 2b555a4b9cae ("clk: ingenic: Add missing flag for UDC clock")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 48196c39bea12d11105345de3331ac7f10c924a4
Author: Colin Ian King <colin.king@canonical.com>
Date:   Sat Feb 2 22:34:49 2019 +0000

    staging: most: cdev: add missing check for cdev_add failure
    
    [ Upstream commit 5ae890780e1b4d08f2c0c5d4ea96fc3928fc0ee9 ]
    
    Currently the call to cdev_add is missing a check for failure. Fix this by
    checking for failure and exiting via a new error path that ensures the
    allocated comp_channel struct is kfree'd.
    
    Detected by CoverityScan, CID#1462359 ("Unchecked return value")
    
    Fixes: 9bc79bbcd0c5 ("Staging: most: add MOST driver's aim-cdev module")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a70650e2f3d8822be708dc69652af8b943a52f6c
Author: Sara Sharon <sara.sharon@intel.com>
Date:   Wed Dec 12 09:45:11 2018 +0200

    iwlwifi: mvm: fix RSS config command
    
    [ Upstream commit 608dce95db10b8ee1a26dbce3f60204bb69812a5 ]
    
    The hash mask is a bitmap, so we should use BIT() on
    the enum values.
    
    Signed-off-by: Sara Sharon <sara.sharon@intel.com>
    Fixes: 43413a975d06 ("iwlwifi: mvm: support rss queues configuration command")
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c1e9cfc815b020b6f8d05cd93f800e63adb4993e
Author: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Date:   Tue Jan 29 17:04:22 2019 +0200

    drm/xen-front: Fix mmap attributes for display buffers
    
    [ Upstream commit 24ded292a5c2ed476f01c77fee65f8320552cd27 ]
    
    When GEM backing storage is allocated those are normal pages,
    so there is no point using pgprot_writecombine while mmaping.
    This fixes mismatch of buffer pages' memory attributes between
    the frontend and backend which may cause screen artifacts.
    
    Fixes: c575b7eeb89f ("drm/xen-front: Add support for Xen PV display frontend")
    
    Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
    Suggested-by: Julien Grall <julien.grall@arm.com>
    Acked-by: Julien Grall <julien.grall@arm.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190129150422.19867-1-andr2000@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7bdc89f1ec8f792412ee8709510823c23450dd72
Author: Vladimir Zapolskiy <vz@mleia.com>
Date:   Tue Jan 29 21:20:41 2019 +0200

    ARM: dts: lpc32xx: phy3250: fix SD card regulator voltage
    
    [ Upstream commit dc141b99fc36cf910a1d8d5ee30f43f2442fd1bd ]
    
    The fixed voltage regulator on Phytec phyCORE-LPC3250 board, which
    supplies SD/MMC card's power, has a constant output voltage level
    of either 3.15V or 3.3V, the actual value depends on JP4 position,
    the power rail is referenced as VCC_SDIO in the board hardware manual.
    
    Fixes: d06670e96267 ("arm: dts: phy3250: add SD fixed regulator")
    Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4ee3d2da8c893d5fd0b6782436c13218b2edbbd6
Author: Vladimir Zapolskiy <vz@mleia.com>
Date:   Tue Jan 29 21:20:40 2019 +0200

    ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller clocks property
    
    [ Upstream commit 30fc01bae3cda747e7d9c352b1aa51ca113c8a9d ]
    
    The originally added ARM PrimeCell PL111 clocks property misses
    the required "clcdclk" clock, which is the same as a clock to enable
    the LCD controller on NXP LPC3230 and NXP LPC3250 SoCs.
    
    Fixes: 93898eb775e5 ("arm: dts: lpc32xx: add clock properties to device nodes")
    Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 01bdeeb5dd757f686deaeb682e961a436910e22b
Author: Vladimir Zapolskiy <vz@mleia.com>
Date:   Tue Jan 29 21:20:39 2019 +0200

    ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller variant
    
    [ Upstream commit 7a0790a4121cbcd111cc537cdc801c46ccb789ee ]
    
    ARM PrimeCell PL111 LCD controller is found on On NXP LPC3230
    and LPC3250 SoCs variants, the original reference in compatible
    property to an older one ARM PrimeCell PL110 is invalid.
    
    Fixes: e04920d9efcb3 ("ARM: LPC32xx: DTS files for device tree conversion")
    Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c25328ad2329f92601043ff54b3119718efd0d7b
Author: Vladimir Zapolskiy <vz@mleia.com>
Date:   Sat Jan 26 16:29:21 2019 +0200

    ARM: dts: lpc32xx: reparent keypad controller to SIC1
    
    [ Upstream commit 489261c45f0ebbc1c2813f337bbdf858267f5033 ]
    
    After switching to a new interrupt controller scheme by separating SIC1
    and SIC2 from MIC interrupt controller just one SoC keypad controller
    was not taken into account, fix it now:
    
      WARNING: CPU: 0 PID: 1 at kernel/irq/irqdomain.c:524 irq_domain_associate+0x50/0x1b0
      error: hwirq 0x36 is too large for interrupt-controller@40008000
      ...
      lpc32xx_keys 40050000.key: failed to get platform irq
      lpc32xx_keys: probe of 40050000.key failed with error -22
    
    Fixes: 9b8ad3fb81ae ("ARM: dts: lpc32xx: reparent SIC1 and SIC2 interrupts from MIC")
    Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f108da79ce07dd2c2d76b84d572f16034f047671
Author: Vladimir Zapolskiy <vz@mleia.com>
Date:   Sat Jan 26 16:29:20 2019 +0200

    ARM: dts: lpc32xx: add required clocks property to keypad device node
    
    [ Upstream commit 3e88bc38b9f6fe4b69cecf81badd3c19fde97f97 ]
    
    NXP LPC32xx keypad controller requires a clock property to be defined.
    
    The change fixes the driver initialization problem:
    
      lpc32xx_keys 40050000.key: failed to get clock
      lpc32xx_keys: probe of 40050000.key failed with error -2
    
    Fixes: 93898eb775e5 ("arm: dts: lpc32xx: add clock properties to device nodes")
    Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 02f6982774e25ae57bca56e0062e53c304ba30dc
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Fri Feb 1 01:52:45 2019 +0100

    driver core: Do not call rpm_put_suppliers() in pm_runtime_drop_link()
    
    [ Upstream commit a1fdbfbb1da2063ba98a12eb6f1bdd07451c7145 ]
    
    Calling rpm_put_suppliers() from pm_runtime_drop_link() is excessive
    as it affects all suppliers of the consumer device and not just the
    one pointed to by the device link being dropped.  Worst case it may
    cause the consumer device to stop working unexpectedly.  Moreover, in
    principle it is racy with respect to runtime PM of the consumer
    device.
    
    To avoid these problems drop runtime PM references on the particular
    supplier pointed to by the link in question only and do that after
    the link has been dropped from the consumer device's list of links to
    suppliers, which is in device_link_free().
    
    Fixes: a0504aecba76 ("PM / runtime: Drop usage count for suppliers at device link removal")
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d6a91833c6ed8a95ad1b4a5e2364bb6d4a039f25
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Fri Feb 1 01:49:14 2019 +0100

    driver core: Fix handling of runtime PM flags in device_link_add()
    
    [ Upstream commit e2f3cd831a280fc226118d9369bf3f77aab58c56 ]
    
    After commit ead18c23c263 ("driver core: Introduce device links
    reference counting"), if there is a link between the given supplier
    and the given consumer already, device_link_add() will refcount it
    and return it unconditionally without updating its flags.  It is
    possible, however, that the second (or any subsequent) caller of
    device_link_add() for the same consumer-supplier pair will pass
    DL_FLAG_PM_RUNTIME, possibly along with DL_FLAG_RPM_ACTIVE, in flags
    to it and the existing link may not behave as expected then.
    
    First, if DL_FLAG_PM_RUNTIME is not set in the existing link's flags
    at all, it needs to be set like during the original initialization of
    the link.
    
    Second, if DL_FLAG_RPM_ACTIVE is passed to device_link_add() in flags
    (in addition to DL_FLAG_PM_RUNTIME), the existing link should to be
    updated to reflect the "active" runtime PM configuration of the
    consumer-supplier pair and extra care must be taken here to avoid
    possible destructive races with runtime PM of the consumer.
    
    To that end, redefine the rpm_active field in struct device_link
    as a refcount, initialize it to 1 and make rpm_resume() (for the
    consumer) and device_link_add() increment it whenever they acquire
    a runtime PM reference on the supplier device.  Accordingly, make
    rpm_suspend() (for the consumer) and pm_runtime_clean_up_links()
    decrement it and drop runtime PM references to the supplier
    device in a loop until rpm_active becones 1 again.
    
    Fixes: ead18c23c263 ("driver core: Introduce device links reference counting")
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 301c669961142183a7b157cc79bbba3d963b8a29
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Fri Feb 1 01:47:53 2019 +0100

    driver core: Do not resume suppliers under device_links_write_lock()
    
    [ Upstream commit 5db25c9eb893df8f6b93c1d97b8006d768e1b6f5 ]
    
    It is incorrect to call pm_runtime_get_sync() under
    device_links_write_lock(), because it may end up trying to take
    device_links_read_lock() while resuming the target device and that
    will deadlock in the non-SRCU case, so avoid that by resuming the
    supplier device in device_link_add() before calling
    device_links_write_lock().
    
    Fixes: 21d5c57b3726 ("PM / runtime: Use device links")
    Fixes: baa8809f6097 ("PM / runtime: Optimize the use of device links")
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6fdc440366f1a99f344b629ac92f350aefd77911
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Fri Feb 1 01:46:54 2019 +0100

    driver core: Avoid careless re-use of existing device links
    
    [ Upstream commit f265df550a4350dce0a4d721a77c52e4b847ea40 ]
    
    After commit ead18c23c263 ("driver core: Introduce device links
    reference counting"), if there is a link between the given supplier
    and the given consumer already, device_link_add() will refcount it
    and return it unconditionally.  However, if the flags passed to
    it on the second (or any subsequent) attempt to create a device
    link between the same consumer-supplier pair are not compatible with
    the existing link's flags, that is incorrect.
    
    First off, if the existing link is stateless and the next caller of
    device_link_add() for the same consumer-supplier pair wants a
    stateful one, or the other way around, the existing link cannot be
    returned, because it will not match the expected behavior, so make
    device_link_add() dump the stack and return NULL in that case.
    
    Moreover, if the DL_FLAG_AUTOREMOVE_CONSUMER flag is passed to
    device_link_add(), its caller will expect its reference to the link
    to be dropped automatically on consumer driver removal, which will
    not happen if that flag is not set in the link's flags (and
    analogously for DL_FLAG_AUTOREMOVE_SUPPLIER).  For this reason, make
    device_link_add() update the existing link's flags accordingly
    before returning it to the caller.
    
    Fixes: ead18c23c263 ("driver core: Introduce device links reference counting")
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f8dbbaa7d70737415856877ab2d072f9746606ff
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Fri Feb 1 01:45:55 2019 +0100

    driver core: Fix DL_FLAG_AUTOREMOVE_SUPPLIER device link flag handling
    
    [ Upstream commit c8d50986da5d74ddfc233b13b91d0a13369fa164 ]
    
    Change the list walk in device_links_driver_cleanup() to a safe one
    to avoid use-after-free when dropping a link from the list during the
    walk.
    
    Also, while at it, fix device_link_add() to refuse to create
    stateless device links with DL_FLAG_AUTOREMOVE_SUPPLIER set, which is
    an invalid combination (setting that flag means that the driver core
    should manage the link, so it cannot be stateless), and extend the
    kerneldoc comment of device_link_add() to cover the
    DL_FLAG_AUTOREMOVE_SUPPLIER flag properly too.
    
    Fixes: 1689cac5b32a ("driver core: Add flag to autoremove device link on supplier unbind")
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 212144108d67a2dca5fb38e81089293e59ab7176
Author: Corentin Labbe <clabbe@baylibre.com>
Date:   Wed Jan 23 11:24:18 2019 +0000

    crypto: crypto4xx - Fix wrong ppc4xx_trng_probe()/ppc4xx_trng_remove() arguments
    
    [ Upstream commit 6e88098ca43a3d80ae86908f7badba683c8a0d84 ]
    
    When building without CONFIG_HW_RANDOM_PPC4XX, I hit the following build failure:
    drivers/crypto/amcc/crypto4xx_core.c: In function 'crypto4xx_probe':
    drivers/crypto/amcc/crypto4xx_core.c:1407:20: error: passing argument 1 of 'ppc4xx_trng_probe' from incompatible pointer type [-Werror=incompatible-pointer-types]
    In file included from drivers/crypto/amcc/crypto4xx_core.c:50:0:
    drivers/crypto/amcc/crypto4xx_trng.h:28:20: note: expected 'struct crypto4xx_device *' but argument is of type 'struct crypto4xx_core_device *'
    drivers/crypto/amcc/crypto4xx_core.c: In function 'crypto4xx_remove':
    drivers/crypto/amcc/crypto4xx_core.c:1434:21: error: passing argument 1 of 'ppc4xx_trng_remove' from incompatible pointer type [-Werror=incompatible-pointer-types]
    In file included from drivers/crypto/amcc/crypto4xx_core.c:50:0:
    drivers/crypto/amcc/crypto4xx_trng.h:30:20: note: expected 'struct crypto4xx_device *' but argument is of type 'struct crypto4xx_core_device *'
    
    This patch fix the needed argument of ppc4xx_trng_probe()/ppc4xx_trng_remove() in that case.
    
    Fixes: 5343e674f32f ("crypto4xx: integrate ppc4xx-rng into crypto4xx")
    Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3b3f78a629a4df86f7db72268c2636f3135f0cdc
Author: Liu Jian <liujian56@huawei.com>
Date:   Wed Jan 23 06:45:38 2019 +0800

    driver: uio: fix possible use-after-free in __uio_register_device
    
    [ Upstream commit 221a1f4ac12d2ab46246c160b2e00d1b1160d5d9 ]
    
    In uio_dev_add_attributes() error handing case, idev is used after
    device_unregister(), in which 'idev' has been released, touch idev cause
    use-after-free.
    
    Fixes: a93e7b331568 ("uio: Prevent device destruction while fds are open")
    Signed-off-by: Liu Jian <liujian56@huawei.com>
    Reviewed-by: Hamish Martin <hamish.martin@alliedtelesis.co.nz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3b656e7c166d14d8cb6acecd26e5761274ba2b73
Author: Liu Jian <liujian56@huawei.com>
Date:   Wed Jan 23 06:45:37 2019 +0800

    driver: uio: fix possible memory leak in __uio_register_device
    
    [ Upstream commit 1a392b3de7c5747506b38fc14b2e79977d3c7770 ]
    
    'idev' is malloced in __uio_register_device() and leak free it before
    leaving from the uio_get_minor() error handing case, it will cause
    memory leak.
    
    Fixes: a93e7b331568 ("uio: Prevent device destruction while fds are open")
    Signed-off-by: Liu Jian <liujian56@huawei.com>
    Reviewed-by: Hamish Martin <hamish.martin@alliedtelesis.co.nz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1dedc9d9269ad7f27b15996532c629e692e5aa1d
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Wed Jan 30 18:30:51 2019 +0800

    tty: ipwireless: Fix potential NULL pointer dereference
    
    [ Upstream commit 7dd50e205b3348dc7784efbdf85723551de64a25 ]
    
    There is a potential NULL pointer dereference in case
    alloc_ctrl_packet() fails and returns NULL.
    
    Fixes: 099dc4fb6265 ("ipwireless: driver for PC Card 3G/UMTS modem")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 558c47fb668e7b2604ac22284b74a3df84f37b7f
Author: Tony Lindgren <tony@atomide.com>
Date:   Tue Jan 22 09:03:08 2019 -0800

    bus: ti-sysc: Fix timer handling with drop pm_runtime_irq_safe()
    
    [ Upstream commit 9bd34c63f5536c490c152833c77fa47f59aeade3 ]
    
    Commit 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe
    them with ti-sysc") started producing a warning for pwm-omap-dmtimer:
    
    WARNING: CPU: 0 PID: 77 at drivers/bus/omap_l3_noc.c:147
    l3_interrupt_handler+0x2f8/0x388
    44000000.ocp:L3 Custom Error: MASTER MPU TARGET L4PER2 (Idle):
    Data Access in Supervisor mode during Functional access
    ...
    __pm_runtime_idle
    omap_dm_timer_disable
    pwm_omap_dmtimer_start
    pwm_omap_dmtimer_enable
    pwm_apply_state
    pwm_vibrator_start
    pwm_vibrator_play_work
    
    This is because the timer that pwm-omap-dmtimer is using is now being
    probed with ti-sysc interconnect target module instead of omap_device
    and the ti-sysc quirk for SYSC_QUIRK_LEGACY_IDLE is not fully
    compatible with what omap_device has been doing.
    
    We could fix this by reverting the timer changes and have the timer
    probe again with omap_device. Or we could add more quirk handling to
    ti-sysc driver. But as these options don't work nicely as longer term
    solutions, let's just make timers probe with ti-sysc without any
    quirks.
    
    To do this, all we need to do is remove quirks for timers for ti-sysc,
    and drop the bogus pm_runtime_irq_safe() flag for timer-ti-dm.
    
    We should not use pm_runtime_irq_safe() anyways for drivers as it will
    take a permanent use count on the parent device blocking the parent
    devices from idling and has been forcing ti-sysc driver to use a
    quirk flag.
    
    Note that we will move the timer data to DEBUG section later on in
    clean-up patches.
    
    Fixes: 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe them with ti-sysc")
    Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
    Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
    Cc: H. Nikolaus Schaller <hns@goldelico.com>
    Cc: Keerthy <j-keerthy@ti.com>
    Cc: Ladislav Michl <ladis@linux-mips.org>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Sebastian Reichel <sre@kernel.org>
    Cc: Tero Kristo <t-kristo@ti.com>
    Cc: Thierry Reding <thierry.reding@gmail.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Reported-by: H. Nikolaus Schaller <hns@goldelico.com>
    Tested-By: Andreas Kemnade <andreas@kemnade.info>
    Tested-By: H. Nikolaus Schaller <hns@goldelico.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 89b6bc6753aaa5b3ed6ddca044c30090125cbc42
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Thu Nov 8 09:51:56 2018 +0100

    iwlwifi: mvm: fix A-MPDU reference assignment
    
    [ Upstream commit 1f7698abedeeb3fef3cbcf78e16f925df675a179 ]
    
    The current code assigns the reference, and then goes to increment
    it if the toggle bit has changed. That way, we get
    
    Toggle  0  0  0  0  1  1  1  1
    ID      1  1  1  1  1  2  2  2
    
    Fix that by assigning the post-toggle ID to get
    
    Toggle  0  0  0  0  1  1  1  1
    ID      1  1  1  1  2  2  2  2
    
    Reported-by: Danny Alexander <danny.alexander@intel.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Fixes: fbe4112791b8 ("iwlwifi: mvm: update mpdu metadata API")
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d2435f563ff383a4357c59c62c98baf291694f3e
Author: Chen-Yu Tsai <wens@csie.org>
Date:   Mon Jan 28 00:39:30 2019 +0800

    arm64: dts: allwinner: h6: Move GIC device node fix base address ordering
    
    [ Upstream commit 52d9bcb3d0de3fa1e07aff3800f857836d30410d ]
    
    The GIC device node was placed out of order in the initial device tree
    submission. Move it so the nodes are correctly sorted by base address
    again.
    
    Fixes: e54be32d0273 ("arm64: allwinner: h6: add the basical Allwinner H6 DTSI file")
    Signed-off-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7761d0c1c4f31e857793b9037382fbcb65353e41
Author: wenxu <wenxu@ucloud.cn>
Date:   Tue Jan 22 18:39:51 2019 +0800

    ip_tunnel: Fix route fl4 init in ip_md_tunnel_xmit
    
    [ Upstream commit 6e6b904ad4f9aed43ec320afbd5a52ed8461ab41 ]
    
    Init the gre_key from tuninfo->key.tun_id and init the mark
    from the skb->mark, set the oif to zero in the collect metadata
    mode.
    
    Fixes: cfc7381b3002 ("ip_tunnel: add collect_md mode to IPIP tunnel")
    Signed-off-by: wenxu <wenxu@ucloud.cn>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit dda759943606367eb283de0dea1398a54d2ac74c
Author: Moni Shoua <monis@mellanox.com>
Date:   Wed Dec 26 19:21:21 2018 +0200

    net/mlx5: Take lock with IRQs disabled to avoid deadlock
    
    [ Upstream commit 33814e5d127e21f53b52e17b0722c1b57d4f4d29 ]
    
    The lock in qp_table might be taken from process context or from
    interrupt context. This may lead to a deadlock unless it is taken with
    IRQs disabled.
    
    Discovered by lockdep
    
    ================================
    WARNING: inconsistent lock state
    4.20.0-rc6
    --------------------------------
    inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W}
    
    python/12572 [HC1[1]:SC0[0]:HE0:SE1] takes:
    00000000052a4df4 (&(&table->lock)->rlock#2){?.+.}, /0x50 [mlx5_core]
    {HARDIRQ-ON-W} state was registered at:
      _raw_spin_lock+0x33/0x70
      mlx5_get_rsc+0x1a/0x50 [mlx5_core]
      mlx5_ib_eqe_pf_action+0x493/0x1be0 [mlx5_ib]
      process_one_work+0x90c/0x1820
      worker_thread+0x87/0xbb0
      kthread+0x320/0x3e0
      ret_from_fork+0x24/0x30
    irq event stamp: 103928
    hardirqs last  enabled at (103927): [] nk+0x1a/0x1c
    hardirqs last disabled at (103928): [] unk+0x1a/0x1c
    softirqs last  enabled at (103924): [] tcp_sendmsg+0x31/0x40
    softirqs last disabled at (103922): [] 80
    
    other info that might help us debug this:
     Possible unsafe locking scenario:
    
           CPU0
           ----
      lock(&(&table->lock)->rlock#2);
    
        lock(&(&table->lock)->rlock#2);
    
     *** DEADLOCK ***
    
    Fixes: 032080ab43ac ("IB/mlx5: Lock QP during page fault handling")
    Signed-off-by: Moni Shoua <monis@mellanox.com>
    Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5ee7911e8e17afb4541096c6e98ffa61190338b3
Author: Mordechay Goodstein <mordechay.goodstein@intel.com>
Date:   Sun Oct 21 18:27:26 2018 +0300

    iwlwifi: mvm: avoid possible access out of array.
    
    [ Upstream commit b0d795a9ae558209656b18930c2b4def5f8fdfb8 ]
    
    The value in txq_id can be out of array scope,
    validate it before accessing the array.
    
    Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
    Fixes: cf961e16620f ("iwlwifi: mvm: support dqa-mode agg on non-shared queue")
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b0d3cef248e0f60360e61ada9755ca54835cc2a2
Author: Chen-Yu Tsai <wens@csie.org>
Date:   Fri Jan 25 11:23:04 2019 +0800

    clk: sunxi-ng: sun8i-a23: Enable PLL-MIPI LDOs when ungating it
    
    [ Upstream commit 108a459ef4cd17a28711d81092044e597b5c7618 ]
    
    The PLL-MIPI clock is somewhat special as it has its own LDOs which
    need to be turned on for this PLL to actually work and output a clock
    signal.
    
    Add the 2 LDO enable bits to the gate bits.
    
    Fixes: 5690879d93e8 ("clk: sunxi-ng: Add A23 CCU")
    Signed-off-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f04e08f7c36bc0c833a8bda80e8e38f9bc4b0a8e
Author: Chen-Yu Tsai <wens@csie.org>
Date:   Fri Jan 25 11:23:10 2019 +0800

    ARM: dts: sun8i-a23-a33: Move NAND controller device node to sort by address
    
    [ Upstream commit d027521497592773cd23d016d36975574d3452db ]
    
    The NAND controller device node was inserted into the wrong position,
    probably due to a rebase or merge, as the file's structure does not
    provide enough context for git to accurately match the previous device
    node block.
    
    Fixes: d7b843df13ea ("ARM: dts: sun8i: add NAND controller node for A23/A33")
    Signed-off-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8dc15688b3c37a37035dcad599a9293596d2de70
Author: Huazhong Tan <tanhuazhong@huawei.com>
Date:   Wed Jan 23 07:39:32 2019 +0800

    net: hns3: fix bug of ethtool_ops.get_channels for VF
    
    [ Upstream commit 8be7362186bd5ccb5f6f72be49751ad2778e2636 ]
    
    The current code returns the number of all queues that can be used and
    the number of queues that have been allocated, which is incorrect.
    What should be returned is the number of queues allocated for each enabled
    TC and the number of queues that can be allocated.
    
    This patch fixes it.
    
    Fixes: 849e46077689 ("net: hns3: add ethtool_ops.get_channels support for VF")
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 72c50d87f76326e1bd3c1081d09ef25aad243586
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Wed Jan 23 20:00:22 2019 +0800

    spi/topcliff_pch: Fix potential NULL dereference on allocation error
    
    [ Upstream commit e902cdcb5112b89ee445588147964723fd69ffb4 ]
    
    In pch_spi_handle_dma, it doesn't check for NULL returns of kcalloc
    so it would result in an Oops.
    
    Fixes: c37f3c2749b5 ("spi/topcliff_pch: DMA support")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5c2d0191c6c574d84cfa83b1bee73a7e4baccfc6
Author: Eric Wong <e@80x24.org>
Date:   Sun Jan 6 08:21:03 2019 +0000

    rtc: cmos: ignore bogus century byte
    
    [ Upstream commit 2a4daadd4d3e507138f8937926e6a4df49c6bfdc ]
    
    Older versions of Libreboot and Coreboot had an invalid value
    (`3' in my case) in the century byte affecting the GM45 in
    the Thinkpad X200.  Not everybody's updated their firmwares,
    and Linux <= 4.2 was able to read the RTC without problems,
    so workaround this by ignoring invalid values.
    
    Fixes: 3c217e51d8a272b9 ("rtc: cmos: century support")
    
    Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Cc: Alessandro Zummo <a.zummo@towertech.it>
    Cc: Sylvain Chouleur <sylvain.chouleur@intel.com>
    Cc: Patrick McDermott <patrick.mcdermott@libiquity.com>
    Cc: linux-rtc@vger.kernel.org
    Signed-off-by: Eric Wong <e@80x24.org>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a7a9df36803d18bf00870716c712907d9a355214
Author: Maor Gottlieb <maorg@mellanox.com>
Date:   Thu Jan 17 20:08:15 2019 +0200

    IB/mlx5: Don't override existing ip_protocol
    
    [ Upstream commit 6113cc44015b41ca51c0a76fed82522b68108dac ]
    
    Two flow specifications can set the ip protocol field in
    the flow table entry:
    
    1) IB_FLOW_SPEC_TCP/UDP/GRE - set the ip protocol accordingly.
    2) IB_FLOW_SPEC_IPV4/6 - has ip_protocol field for users
    who want to receive specific L4 packets.
    
    We need to avoid overriding of the ip_protocol with zeros,
    in case that the user first put the L4 specification and
    only then the L3.
    
    Fixes: ca0d47538528b ('IB/mlx5: Add support in TOS and protocol to flow steering')
    Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
    Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0594ddddf863f76afcfcf2c3480275aeee8bad33
Author: Jacopo Mondi <jacopo+renesas@jmondi.org>
Date:   Thu Jan 17 12:33:04 2019 -0200

    media: tw9910: Unregister subdevice with v4l2-async
    
    [ Upstream commit 341fe1d301f587c930509f6b9153436b957f649c ]
    
    As the tw9910 subdevice is registered through the v4l2-async framework,
    use the v4l2-async provided function to register it.
    
    Fixes: 7b20f325a566 ("media: i2c: tw9910: Remove soc_camera dependencies")
    
    Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
    Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ad20af2f51aa3fe7858549f80850e04a40fbb257
Author: Huazhong Tan <tanhuazhong@huawei.com>
Date:   Fri Jan 18 16:13:12 2019 +0800

    net: hns3: fix wrong combined count returned by ethtool -l
    
    [ Upstream commit c3b9c50d1567aa12be4448fe85b09626eba2499c ]
    
    The current code returns the number of all queues that can be used and
    the number of queues that have been allocated, which is incorrect.
    What should be returned is the number of queues allocated for each enabled
    TC and the number of queues that can be allocated.
    
    This patch fixes it.
    
    Fixes: 482d2e9c1cc7 ("net: hns3: add support to query tqps number")
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 45cd0174ce436a7c82782edd8f745973d28f0ea2
Author: Israel Rukshin <israelr@mellanox.com>
Date:   Thu Jan 17 15:45:45 2019 +0000

    IB/iser: Pass the correct number of entries for dma mapped SGL
    
    [ Upstream commit 57b26497fabe1b9379b59fbc7e35e608e114df16 ]
    
    ib_dma_map_sg() augments the SGL into a 'dma mapped SGL'. This process may
    change the number of entries and the lengths of each entry.
    
    Code that touches dma_address is iterating over the 'dma mapped SGL' and
    must use dma_nents which returned from ib_dma_map_sg().
    
    ib_sg_to_pages() and ib_map_mr_sg() are using dma_address so they must use
    dma_nents.
    
    Fixes: 39405885005a ("IB/iser: Port to new fast registration API")
    Fixes: bfe066e256d5 ("IB/iser: Reuse ib_sg_to_pages")
    Signed-off-by: Israel Rukshin <israelr@mellanox.com>
    Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
    Acked-by: Sagi Grimberg <sagi@grimberg.me>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit dade0283e581f4e1adc53bc6a4f1b16463feafe8
Author: Stefan Agner <stefan@agner.ch>
Date:   Fri Jan 18 10:06:52 2019 +0100

    ASoC: imx-sgtl5000: put of nodes if finding codec fails
    
    [ Upstream commit d9866572486802bc598a3e8576a5231378d190de ]
    
    Make sure to properly put the of node in case finding the codec
    fails.
    
    Fixes: 81e8e4926167 ("ASoC: fsl: add sgtl5000 clock support for imx-sgtl5000")
    Signed-off-by: Stefan Agner <stefan@agner.ch>
    Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
    Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
    Reviewed-by: Fabio Estevam <festevam@gmail.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5fc07a47308ba169b28ce845e7dfcd244cc8eb9c
Author: Eric Biggers <ebiggers@google.com>
Date:   Thu Jan 10 12:17:58 2019 -0800

    crypto: tgr192 - fix unaligned memory access
    
    [ Upstream commit f990f7fb58ac8ac9a43316f09a48cff1a49dda42 ]
    
    Fix an unaligned memory access in tgr192_transform() by using the
    unaligned access helpers.
    
    Fixes: 06ace7a9bafe ("[CRYPTO] Use standard byte order macros wherever possible")
    Signed-off-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c034022ff00885c5ee2db23970c65f1f297b0e1c
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Wed Jan 9 06:11:18 2019 +0000

    crypto: brcm - Fix some set-but-not-used warning
    
    [ Upstream commit 707d0cf8f7cff6dfee9197002859912310532c4f ]
    
    Fixes gcc '-Wunused-but-set-variable' warning:
    
    drivers/crypto/bcm/cipher.c: In function 'handle_ahash_req':
    drivers/crypto/bcm/cipher.c:720:15: warning:
     variable 'chunk_start' set but not used [-Wunused-but-set-variable]
    
    drivers/crypto/bcm/cipher.c: In function 'spu_rx_callback':
    drivers/crypto/bcm/cipher.c:1679:31: warning:
     variable 'areq' set but not used [-Wunused-but-set-variable]
    
    drivers/crypto/bcm/cipher.c:1678:22: warning:
     variable 'ctx' set but not used [-Wunused-but-set-variable]
    
    Fixes: 9d12ba86f818 ("crypto: brcm - Add Broadcom SPU driver")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Reviewed-by: Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ed94750a2e0f205f440e31431afa6eadeb27e55a
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Tue Jan 15 16:19:00 2019 +0900

    kbuild: mark prepare0 as PHONY to fix external module build
    
    [ Upstream commit e00d8880481497474792d28c14479a9fb6752046 ]
    
    Commit c3ff2a5193fa ("powerpc/32: add stack protector support")
    caused kernel panic on PowerPC when an external module is used with
    CONFIG_STACKPROTECTOR because the 'prepare' target was not executed
    for the external module build.
    
    Commit e07db28eea38 ("kbuild: fix single target build for external
    module") turned it into a build error because the 'prepare' target is
    now executed but the 'prepare0' target is missing for the external
    module build.
    
    External module on arm/arm64 with CONFIG_STACKPROTECTOR_PER_TASK is
    also broken in the same way.
    
    Move 'PHONY += prepare0' to the common place. GNU Make is fine with
    missing rule for phony targets. I also removed the comment which is
    wrong irrespective of this commit.
    
    I minimize the change so it can be easily backported to 4.20.x
    
    To fix v4.20, please backport e07db28eea38 ("kbuild: fix single target
    build for external module"), and then this commit.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=201891
    Fixes: e07db28eea38 ("kbuild: fix single target build for external module")
    Fixes: c3ff2a5193fa ("powerpc/32: add stack protector support")
    Fixes: 189af4657186 ("ARM: smp: add support for per-task stack canaries")
    Fixes: 0a1213fa7432 ("arm64: enable per-task stack canaries")
    Cc: linux-stable <stable@vger.kernel.org> # v4.20
    Reported-by: Samuel Holland <samuel@sholland.org>
    Reported-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Tested-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 553672873df74c88f6ef78f3a993a30a8ee0716c
Author: Pawe? Chmiel <pawel.mikolaj.chmiel@gmail.com>
Date:   Wed Jan 9 13:00:41 2019 -0500

    media: s5p-jpeg: Correct step and max values for V4L2_CID_JPEG_RESTART_INTERVAL
    
    [ Upstream commit 19c624c6b29e244c418f8b44a711cbf5e82e3cd4 ]
    
    This commit corrects max and step values for v4l2 control for
    V4L2_CID_JPEG_RESTART_INTERVAL. Max should be 0xffff and step should be 1.
    It was found by using v4l2-compliance tool and checking result of
    VIDIOC_QUERY_EXT_CTRL/QUERYMENU test.
    Previously it was complaining that step was bigger than difference
    between max and min.
    
    Fixes: 15f4bc3b1f42 ("[media] s5p-jpeg: Add JPEG controls support")
    
    Signed-off-by: Pawe? Chmiel <pawel.mikolaj.chmiel@gmail.com>
    Reviewed-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
    Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b6c6eac622b693a0168b2ca61e7d1446fcd8cc93
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Mon Jan 14 13:49:46 2019 +0300

    drm/etnaviv: NULL vs IS_ERR() buf in etnaviv_core_dump()
    
    [ Upstream commit f8261c376e7f8cb9024af5a6c54be540c7f9108e ]
    
    The etnaviv_gem_get_pages() never returns NULL.  It returns error
    pointers on error.
    
    Fixes: a8c21a5451d8 ("drm/etnaviv: add initial etnaviv DRM driver")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3dca62aea2995f537a58b81a1dbeace677952b3d
Author: Dmitry Osipenko <digetx@gmail.com>
Date:   Wed Dec 12 23:38:51 2018 +0300

    memory: tegra: Don't invoke Tegra30+ specific memory timing setup on Tegra20
    
    [ Upstream commit be4dbdec2bab8635c7a41573668624ee13d83022 ]
    
    This fixes irrelevant "tegra-mc 7000f000.memory-controller: no memory
    timings for RAM code 0 registered" warning message during of kernels
    boot-up on Tegra20.
    
    Fixes: a8d502fd3348 ("memory: tegra: Squash tegra20-mc into common tegra-mc driver")
    Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
    Acked-by: Jon Hunter <jonathanh@nvidia.com>
    Acked-by: Thierry Reding <treding@nvidia.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 00c3c95760466ba8cc8d967004e9fe34319c8ca6
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Thu Jan 10 20:22:26 2019 +0100

    net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ9031
    
    [ Upstream commit 1d16073a326891c2a964e4cb95bc18fbcafb5f74 ]
    
    So far genphy_soft_reset was used automatically if the PHY driver
    didn't implement the soft_reset callback. This changed with the
    mentioned commit and broke KSZ9031. To fix this configure the
    KSZ9031 PHY driver to use genphy_soft_reset.
    
    Fixes: 6e2d85ec0559 ("net: phy: Stop with excessive soft reset")
    Reported-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Tested-by: Tony Lindgren <tony@atomide.com>
    Tested-by: Sekhar Nori <nsekhar@ti.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 05598b96701a915972ca4662d32f7eaf6dceec39
Author: Raju Rangoju <rajur@chelsio.com>
Date:   Fri Jan 11 20:27:18 2019 +0530

    RDMA/iw_cxgb4: Fix the unchecked ep dereference
    
    [ Upstream commit 3352976c892301fd576a2e9ff0ac7337b2e2ca48 ]
    
    The patch 944661dd97f4: "RDMA/iw_cxgb4: atomically lookup ep and get a
    reference" from May 6, 2016, leads to the following Smatch complaint:
    
        drivers/infiniband/hw/cxgb4/cm.c:2953 terminate()
        error: we previously assumed 'ep' could be null (see line 2945)
    
    Fixes: 944661dd97f4 ("RDMA/iw_cxgb4: atomically lookup ep and get a reference")
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Raju Rangoju <rajur@chelsio.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ce519d838622bfed7eeeb7a87310c9732998bde3
Author: Charles Keepax <ckeepax@opensource.cirrus.com>
Date:   Fri Jan 4 18:08:09 2019 +0000

    spi: cadence: Correct initialisation of runtime PM
    
    [ Upstream commit 734882a8bf984c2ac8a57d8ac3ee53230bd0bed8 ]
    
    Currently the driver calls pm_runtime_put_autosuspend but without ever
    having done a pm_runtime_get, this causes the reference count in the pm
    runtime core to become -1. The bad reference count causes the core to
    sometimes suspend whilst an active SPI transfer is in progress.
    
    arizona spi0.1: SPI transfer timed out
    spi_master spi0: failed to transfer one message from queue
    
    The correct proceedure is to do all the initialisation that requires the
    hardware to be powered up before enabling the PM runtime, then enable
    the PM runtime having called pm_runtime_set_active to inform it that the
    hardware is currently powered up. The core will then power it down at
    it's leisure and no explicit pm_runtime_put is required.
    
    Fixes: d36ccd9f7ea4 ("spi: cadence: Runtime pm adaptation")
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 77f383f4fda973b60806b73ebe2cd3e3e658abfa
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Fri Dec 14 12:01:02 2018 +0100

    arm64: dts: apq8016-sbc: Increase load on l11 for SDCARD
    
    [ Upstream commit af61bef513ba179559e56908b8c465e587bc3890 ]
    
    In the same way as for msm8974-hammerhead, l11 load, used for SDCARD
    VMMC, needs to be increased in order to prevent any voltage drop issues
    (due to limited current) happening with some SDCARDS or during specific
    operations (e.g. write).
    
    Tested on Dragonboard-410c and DART-SD410 boards.
    
    Fixes: 4c7d53d16d77 (arm64: dts: apq8016-sbc: add regulators support)
    Reported-by: Manabu Igusa <migusa@arrowjapan.com>
    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Andy Gross <andy.gross@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f91096e2f8a76eb0edc3263628e5c02359a5fc73
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Mon Dec 17 17:18:30 2018 +0800

    drm/shmob: Fix return value check in shmob_drm_probe
    
    [ Upstream commit 06c3bbd3c12737a50c2e981821b5585e1786e73d ]
    
    In case of error, the function devm_ioremap_resource() returns ERR_PTR()
    and never returns NULL. The NULL test in the return value check should
    be replaced with IS_ERR().
    
    Fixes: 8f1597c8f1a5 ("drm: shmobile: Perform initialization/cleanup at probe/remove time")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8220171634e5ad77ab5cb006fa3c2bbfd36e29a9
Author: Gal Pressman <galpress@amazon.com>
Date:   Mon Jan 7 17:27:56 2019 +0200

    RDMA/qedr: Fix out of bounds index check in query pkey
    
    [ Upstream commit dbe30dae487e1a232158c24b432d45281c2805b7 ]
    
    The pkey table size is QEDR_ROCE_PKEY_TABLE_LEN, index should be tested
    for >= QEDR_ROCE_PKEY_TABLE_LEN instead of > QEDR_ROCE_PKEY_TABLE_LEN.
    
    Fixes: a7efd7773e31 ("qedr: Add support for PD,PKEY and CQ verbs")
    Signed-off-by: Gal Pressman <galpress@amazon.com>
    Acked-by: Michal Kalderon <michal.kalderon@marvell.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit af0394d0fca7964bb791f388897c1b79a8fb13e5
Author: Gal Pressman <galpress@amazon.com>
Date:   Mon Jan 7 17:27:55 2019 +0200

    RDMA/ocrdma: Fix out of bounds index check in query pkey
    
    [ Upstream commit b188940796c7be31c1b8c25a9a0e0842c2e7a49e ]
    
    The pkey table size is one element, index should be tested for > 0 instead
    of > 1.
    
    Fixes: fe2caefcdf58 ("RDMA/ocrdma: Add driver for Emulex OneConnect IBoE RDMA adapter")
    Signed-off-by: Gal Pressman <galpress@amazon.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6f0cae8be365525c3ccf1d95a7313e969cbe8690
Author: Gal Pressman <galpress@amazon.com>
Date:   Mon Jan 7 17:27:54 2019 +0200

    IB/usnic: Fix out of bounds index check in query pkey
    
    [ Upstream commit 4959d5da5737dd804255c75b8cea0a2929ce279a ]
    
    The pkey table size is one element, index should be tested for > 0 instead
    of > 1.
    
    Fixes: e3cf00d0a87f ("IB/usnic: Add Cisco VIC low-level hardware driver")
    Signed-off-by: Gal Pressman <galpress@amazon.com>
    Acked-by: Parvi Kaustubhi <pkaustub@cisco.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3ed8ca4d292117bd49e2d86a2a4a1fd709282459
Author: Shakeel Butt <shakeelb@google.com>
Date:   Tue Jan 8 15:22:57 2019 -0800

    fork, memcg: fix cached_stacks case
    
    [ Upstream commit ba4a45746c362b665e245c50b870615f02f34781 ]
    
    Commit 5eed6f1dff87 ("fork,memcg: fix crash in free_thread_stack on
    memcg charge fail") fixes a crash caused due to failed memcg charge of
    the kernel stack.  However the fix misses the cached_stacks case which
    this patch fixes.  So, the same crash can happen if the memcg charge of
    a cached stack is failed.
    
    Link: http://lkml.kernel.org/r/20190102180145.57406-1-shakeelb@google.com
    Fixes: 5eed6f1dff87 ("fork,memcg: fix crash in free_thread_stack on memcg charge fail")
    Signed-off-by: Shakeel Butt <shakeelb@google.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Acked-by: Rik van Riel <riel@surriel.com>
    Cc: Rik van Riel <riel@surriel.com>
    Cc: Roman Gushchin <guro@fb.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 66779aa306b37b3789e7acae0b60017b7c3a51d3
Author: Noralf Trønnes <noralf@tronnes.org>
Date:   Sat Jan 5 19:18:46 2019 +0100

    drm/fb-helper: generic: Fix setup error path
    
    [ Upstream commit 6e1490cf439aa86b104e5124c36275b964238e1f ]
    
    If register_framebuffer() fails during fbdev setup we will leak the
    framebuffer, the GEM buffer and the shadow buffer for defio. This is
    because drm_fb_helper_fbdev_setup() just calls drm_fb_helper_fini() on
    error not taking into account that register_framebuffer() can fail.
    
    Since the generic emulation uses DRM client for its framebuffer and
    backing buffer in addition to a shadow buffer, it's necessary to open code
    drm_fb_helper_fbdev_setup() to properly handle the error path.
    
    Error cleanup is removed from .fb_probe and is handled by one function for
    all paths.
    
    Fixes: 9060d7f49376 ("drm/fb-helper: Finish the generic fbdev emulation")
    Reported-by: Peter Wu <peter@lekensteyn.nl>
    Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190105181846.26495-1-noralf@tronnes.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 69db9cf2ed1b93d912779ea3ba31fac1a8f14014
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Fri Jul 13 18:00:18 2018 +0300

    drm/etnaviv: fix some off by one bugs
    
    [ Upstream commit f5fd9fd4000984f19db689282054953981a50534 ]
    
    The ->nr_signal is the supposed to be the number of elements in the
    ->signal array.  There was one place where it was 5 but it was supposed
    to be 4.  That looks like a copy and paste bug.  There were also two
    checks that were off by one.
    
    Fixes: 9e2c2e273012 ("drm/etnaviv: add infrastructure to query perf counter")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
    Tested-by: Christian Gmeiner <christian.gmeiner@gmail.com>
    Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f5758c345e55956f1c3bc606447ea48550310733
Author: Biju Das <biju.das@bp.renesas.com>
Date:   Mon Dec 10 11:57:57 2018 +0000

    ARM: dts: r8a7743: Remove generic compatible string from iic3
    
    [ Upstream commit 072b817589b17660ef19c31d89f7b981dbed3fd2 ]
    
    The iic3 block on RZ/G1M does not support automatic transmission, unlike
    other R-Car SoC's. So dropping the compatibility with the generic version.
    
    Fixes: f523405f2a22cc0c307 ("ARM: dts: r8a7743: Add IIC cores to dtsi")
    Signed-off-by: Biju Das <biju.das@bp.renesas.com>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 20fb559e865590f7a4b13184c035003d74c90d85
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Sat Dec 29 10:49:07 2018 +0800

    drm: Fix error handling in drm_legacy_addctx
    
    [ Upstream commit c39191feed4540fed98badeb484833dcf659bb96 ]
    
    'ctx->handle' is unsigned, it never less than zero.
    This patch use int 'tmp_handle' to handle the err condition.
    
    Fixes: 62968144e673 ("drm: convert drm context code to use Linux idr")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/20181229024907.12852-1-yuehaibing@huawei.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 81607bbf4fcc95dd520246d7bf3eae6169ba320d
Author: Sibi Sankar <sibis@codeaurora.org>
Date:   Sat Dec 29 00:23:05 2018 +0530

    remoteproc: qcom: q6v5-mss: Add missing regulator for MSM8996
    
    [ Upstream commit 47b874748d500020026ee43b386b5598e20f3a68 ]
    
    Add proxy vote for pll supply on MSM8996 SoC.
    
    Fixes: 9f058fa2efb1 ("remoteproc: qcom: Add support for mss remoteproc on msm8996")
    Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 88c779bd2302762d5a3cf399aeda41c05ba5822a
Author: Sibi Sankar <sibis@codeaurora.org>
Date:   Sat Dec 29 00:23:03 2018 +0530

    remoteproc: qcom: q6v5-mss: Add missing clocks for MSM8996
    
    [ Upstream commit 80ec419c3404106c563aaf56aa6b516a59c4cdfb ]
    
    Proxy vote for QDSS clock and remove vote on handover interrupt
    to provide MSS PBL with access to STM hardware registers during
    boot. Add "snoc_axi" and "mnoc_axi" to the active clock list.
    Rename "gpll0_mss_clk" to "gpll0_mss" for consistency across SoCs.
    
    Fixes: 9f058fa2efb1 ("remoteproc: qcom: Add support for mss remoteproc on msm8996")
    Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2be6c015e246510dc84f1d412e351bd54b75401c
Author: Stefan Wahren <stefan.wahren@i2se.com>
Date:   Fri Dec 28 17:53:23 2018 +0100

    arm64: defconfig: Re-enable bcm2835-thermal driver
    
    [ Upstream commit 4d9226fd9a0d747030575d7cb184b30c6e64f155 ]
    
    The bcm2835-thermal driver was added with commit ac178e4280e6
    ("ARM64: bcm2835: add thermal driver to default config"). Unfortunately
    this was accidentally dropped by commit eb1e6716cc9c
    ("arm64: defconfig: sync with savedefconfig"). So enable the driver again.
    
    Fixes: eb1e6716cc9c ("arm64: defconfig: sync with savedefconfig")
    Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
    Signed-off-by: Olof Johansson <olof@lixom.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 94e23ed3f523702c8572a748a96c7fd0fd88c829
Author: Jonas Gorski <jonas.gorski@gmail.com>
Date:   Sun Dec 30 12:55:09 2018 +0100

    MIPS: BCM63XX: drop unused and broken DSP platform device
    
    [ Upstream commit 682fee802843b332f9c51ffc8e062de5ff773f2e ]
    
    Trying to register the DSP platform device results in a null pointer
    access:
    
    [    0.124184] CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 804e305c, ra == 804e6f20
    [    0.135208] Oops[#1]:
    [    0.137514] CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.87
    ...
    [    0.197117] epc   : 804e305c bcm63xx_dsp_register+0x80/0xa4
    [    0.202838] ra    : 804e6f20 board_register_devices+0x258/0x390
    ...
    
    This happens because it tries to copy the passed platform data over the
    platform_device's unpopulated platform_data.
    
    Since this code has been broken since its submission, no driver was ever
    submitted for it, and apparently nobody was using it, just remove it
    instead of trying to fix it.
    
    Fixes: e7300d04bd08 ("MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.")
    Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Acked-by: Florian Fainelli <f.fainelli@gmail.com>
    Cc: linux-mips@linux-mips.org
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: James Hogan <jhogan@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d99352cae06e3fcafbf5a8caf87b0f2e909ce087
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:50:13 2018 -0500

    clk: dove: fix refcount leak in dove_clk_init()
    
    [ Upstream commit 8d726c5128298386b907963033be93407b0c4275 ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com>
    Fixes: 8f7fc5450b64 ("clk: mvebu: dove: maintain clock init order")
    Fixes: 63b8d92c793f ("clk: add Dove PLL divider support for GPU, VMeta and AXI clocks")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 239ca8dc06bf9acdaa892109c8e2ff352773e279
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:48:05 2018 -0500

    clk: mv98dx3236: fix refcount leak in mv98dx3236_clk_init()
    
    [ Upstream commit 9b4eedf627045ae5ddcff60a484200cdd554c413 ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com>
    Fixes: 337072604224 ("clk: mvebu: Expand mv98dx3236-core-clock support")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit eadcc9ef0a1311e8c19111b62c1f03f48b3e401a
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:42:26 2018 -0500

    clk: armada-xp: fix refcount leak in axp_clk_init()
    
    [ Upstream commit db20a90a4b6745dad62753f8bd2f66afdd5abc84 ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com>
    Fixes: 0a11a6ae9437 ("clk: mvebu: armada-xp: maintain clock init order")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ef86a8bb2ea3912144080d1bbf062b4eeea5aa41
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:40:19 2018 -0500

    clk: kirkwood: fix refcount leak in kirkwood_clk_init()
    
    [ Upstream commit e7beeab9c61591cd0e690d8733d534c3f4278ff8 ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com>
    Fixes: 58d516ae95cb ("clk: mvebu: kirkwood: maintain clock init order")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6de0b7c2ee6a8880c482d3b799b1257dd0be387d
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:36:58 2018 -0500

    clk: armada-370: fix refcount leak in a370_clk_init()
    
    [ Upstream commit a3c24050bdf70c958a8d98c2823b66ea761e6a31 ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com>
    Fixes: 07ad6836fa21 ("clk: mvebu: armada-370: maintain clock init order")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c4b4e38e78219890adfd959ff649745d29ee8efc
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:59:36 2018 -0500

    clk: vf610: fix refcount leak in vf610_clocks_init()
    
    [ Upstream commit 567177024e0313e4f0dcba7ba10c0732e50e655d ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Fixes: 1f2c5fd5f048 ("ARM: imx: add VF610 clock support")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9c88ab3ae739d8d45873ba3b74f09ec382e86765
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:57:16 2018 -0500

    clk: imx7d: fix refcount leak in imx7d_clocks_init()
    
    [ Upstream commit 5f8c183a996b76bb09748073c856e4246fd4ce95 ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Fixes: 8f6d8094b215 ("ARM: imx: add imx7d clk tree support")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9fde7ee6ff11feb263ae54fefb413055d787cfa3
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:55:10 2018 -0500

    clk: imx6sx: fix refcount leak in imx6sx_clocks_init()
    
    [ Upstream commit 1731e14fb30212dd8c1e9f8fc1af061e56498c55 ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Fixes: d55135689019 ("ARM: imx: add clock driver for imx6sx")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4b19efc8b022343dbe63b0c20707315c7cb8b1fa
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:53:00 2018 -0500

    clk: imx6q: fix refcount leak in imx6q_clocks_init()
    
    [ Upstream commit c9ec1d8fef31b5fc9e90e99f9bd685db5caa7c5e ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Fixes: 2acd1b6f889c ("ARM: i.MX6: implement clocks using common clock framework")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 735081c8b9c9fd51103f0065535d4cd252031fee
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:32:15 2018 -0500

    clk: samsung: exynos4: fix refcount leak in exynos4_get_xom()
    
    [ Upstream commit cee82eb9532090cd1dc953e845d71f9b1445c84e ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Fixes: e062b571777f ("clk: exynos4: register clocks using common clock framework")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e1142507c2307c974caee020df9cf23adc9c75b3
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:29:02 2018 -0500

    clk: socfpga: fix refcount leak
    
    [ Upstream commit 7f9705beeb3759e69165e7aff588f6488ff6c1ac ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Fixes: 5343325ff3dd ("clk: socfpga: add a clock driver for the Arria 10 platform")
    Fixes: a30d27ed739b ("clk: socfpga: fix clock driver for 3.15")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f96bcc2ccd6b761d13922bd8805dc35fb64c840e
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:21:31 2018 -0500

    clk: ti: fix refcount leak in ti_dt_clocks_register()
    
    [ Upstream commit 2274d8001fbb5e1942fbcab5ad2eb15553b09ed2 ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Fixes: 5b385a45e001 ("clk: ti: add support for clkctrl aliases")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ecc3b935ab3162e841e55d0d5da9267029a19ec6
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:14:42 2018 -0500

    clk: qoriq: fix refcount leak in clockgen_init()
    
    [ Upstream commit 70af6c5b5270e8101f318c4b69cc98a726edfab9 ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Fixes: 0dfc86b3173f ("clk: qoriq: Move chip-specific knowledge into driver")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4d2a9068c71b9e08f61bc1b515ed51fd937c8cce
Author: Yangtao Li <tiny.windzz@gmail.com>
Date:   Wed Dec 26 08:10:01 2018 -0500

    clk: highbank: fix refcount leak in hb_clk_init()
    
    [ Upstream commit 5eb8ba90958de1285120dae5d3a5d2b1a360b3b4 ]
    
    The of_find_compatible_node() returns a node pointer with refcount
    incremented, but there is the lack of use of the of_node_put() when
    done. Add the missing of_node_put() to release the refcount.
    
    Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
    Fixes: 26cae166cff9 ("ARM: highbank: remove custom .init_time hook")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 641164565b84e9cf5aeb5076e4201da69af0c7b3
Author: Rik van Riel <riel@surriel.com>
Date:   Fri Dec 21 14:30:54 2018 -0800

    fork,memcg: fix crash in free_thread_stack on memcg charge fail
    
    [ Upstream commit 5eed6f1dff87bfb5e545935def3843edf42800f2 ]
    
    Commit 9b6f7e163cd0 ("mm: rework memcg kernel stack accounting") will
    result in fork failing if allocating a kernel stack for a task in
    dup_task_struct exceeds the kernel memory allowance for that cgroup.
    
    Unfortunately, it also results in a crash.
    
    This is due to the code jumping to free_stack and calling
    free_thread_stack when the memcg kernel stack charge fails, but without
    tsk->stack pointing at the freshly allocated stack.
    
    This in turn results in the vfree_atomic in free_thread_stack oopsing
    with a backtrace like this:
    
    #5 [ffffc900244efc88] die at ffffffff8101f0ab
     #6 [ffffc900244efcb8] do_general_protection at ffffffff8101cb86
     #7 [ffffc900244efce0] general_protection at ffffffff818ff082
        [exception RIP: llist_add_batch+7]
        RIP: ffffffff8150d487  RSP: ffffc900244efd98  RFLAGS: 00010282
        RAX: 0000000000000000  RBX: ffff88085ef55980  RCX: 0000000000000000
        RDX: ffff88085ef55980  RSI: 343834343531203a  RDI: 343834343531203a
        RBP: ffffc900244efd98   R8: 0000000000000001   R9: ffff8808578c3600
        R10: 0000000000000000  R11: 0000000000000001  R12: ffff88029f6c21c0
        R13: 0000000000000286  R14: ffff880147759b00  R15: 0000000000000000
        ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
     #8 [ffffc900244efda0] vfree_atomic at ffffffff811df2c7
     #9 [ffffc900244efdb8] copy_process at ffffffff81086e37
    #10 [ffffc900244efe98] _do_fork at ffffffff810884e0
    #11 [ffffc900244eff10] sys_vfork at ffffffff810887ff
    #12 [ffffc900244eff20] do_syscall_64 at ffffffff81002a43
        RIP: 000000000049b948  RSP: 00007ffcdb307830  RFLAGS: 00000246
        RAX: ffffffffffffffda  RBX: 0000000000896030  RCX: 000000000049b948
        RDX: 0000000000000000  RSI: 00007ffcdb307790  RDI: 00000000005d7421
        RBP: 000000000067370f   R8: 00007ffcdb3077b0   R9: 000000000001ed00
        R10: 0000000000000008  R11: 0000000000000246  R12: 0000000000000040
        R13: 000000000000000f  R14: 0000000000000000  R15: 000000000088d018
        ORIG_RAX: 000000000000003a  CS: 0033  SS: 002b
    
    The simplest fix is to assign tsk->stack right where it is allocated.
    
    Link: http://lkml.kernel.org/r/20181214231726.7ee4843c@imladris.surriel.com
    Fixes: 9b6f7e163cd0 ("mm: rework memcg kernel stack accounting")
    Signed-off-by: Rik van Riel <riel@surriel.com>
    Acked-by: Roman Gushchin <guro@fb.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Cc: Shakeel Butt <shakeelb@google.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a204b1080c1e78ab449a291065178671f6a7709b
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Fri Dec 21 00:38:30 2018 -0800

    Input: nomadik-ske-keypad - fix a loop timeout test
    
    [ Upstream commit 4d8f727b83bcd6702c2d210330872c9122d2d360 ]
    
    The loop exits with "timeout" set to -1 not to 0.
    
    Fixes: 1158f0f16224 ("Input: add support for Nomadik SKE keypad controller")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a5dad6284733b286d4ab3a5ff2a2c46db45af3c9
Author: Petr Machata <petrm@mellanox.com>
Date:   Tue Dec 18 13:16:02 2018 +0000

    vxlan: changelink: Fix handling of default remotes
    
    [ Upstream commit ce5e098f7a10b4bf8e948c12fa350320c5c3afad ]
    
    Default remotes are stored as FDB entries with an Ethernet address of
    00:00:00:00:00:00. When a request is made to change a remote address of
    a VXLAN device, vxlan_changelink() first deletes the existing default
    remote, and then creates a new FDB entry.
    
    This works well as long as the list of default remotes matches exactly
    the configuration of a VXLAN remote address. Thus when the VXLAN device
    has a remote of X, there should be exactly one default remote FDB entry
    X. If the VXLAN device has no remote address, there should be no such
    entry.
    
    Besides using "ip link set", it is possible to manipulate the list of
    default remotes by using the "bridge fdb". It is therefore easy to break
    the above condition. Under such circumstances, the __vxlan_fdb_delete()
    call doesn't delete the FDB entry itself, but just one remote. The
    following vxlan_fdb_create() then creates a new FDB entry, leading to a
    situation where two entries exist for the address 00:00:00:00:00:00,
    each with a different subset of default remotes.
    
    An even more obvious breakage rooted in the same cause can be observed
    when a remote address is configured for a VXLAN device that did not have
    one before. In that case vxlan_changelink() doesn't remove any remote,
    and just creates a new FDB entry for the new address:
    
    $ ip link add name vx up type vxlan id 2000 dstport 4789
    $ bridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.20 self permanent
    $ bridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.30 self permanent
    $ ip link set dev vx type vxlan remote 192.0.2.30
    $ bridge fdb sh dev vx | grep 00:00:00:00:00:00
    00:00:00:00:00:00 dst 192.0.2.30 self permanent <- new entry, 1 rdst
    00:00:00:00:00:00 dst 192.0.2.20 self permanent <- orig. entry, 2 rdsts
    00:00:00:00:00:00 dst 192.0.2.30 self permanent
    
    To fix this, instead of calling vxlan_fdb_create() directly, defer to
    vxlan_fdb_update(). That has logic to handle the duplicates properly.
    Additionally, it also handles notifications, so drop that call from
    changelink as well.
    
    Fixes: 0241b836732f ("vxlan: fix default fdb entry netlink notify ordering during netdev create")
    Signed-off-by: Petr Machata <petrm@mellanox.com>
    Acked-by: Roopa Prabhu <roopa@cumulusnetworks.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0120feccd1c1b5d3ccc8838f416a821d2a075b7f
Author: Huazhong Tan <tanhuazhong@huawei.com>
Date:   Tue Dec 18 19:37:48 2018 +0800

    net: hns3: fix error handling int the hns3_get_vector_ring_chain
    
    [ Upstream commit cda69d244585bc4497d3bb878c22fe2b6ad647c1 ]
    
    When hns3_get_vector_ring_chain() failed in the
    hns3_nic_init_vector_data(), it should do the error handling instead
    of return directly.
    
    Also, cur_chain should be freed instead of chain and head->next should
    be set to NULL in error handling of hns3_get_vector_ring_chain.
    
    This patch fixes them.
    
    Fixes: 73b907a083b8 ("net: hns3: bugfix for buffer not free problem during resetting")
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4b5b085667457258e8c6601675bf811cdd1d1177
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Thu Dec 13 14:32:34 2018 +0100

    pinctrl: sh-pfc: sh7734: Remove bogus IPSR10 value
    
    [ Upstream commit 4d374bacd7c9665179f9752a52d5d602c45d8190 ]
    
    The IP10[5:3] field in Peripheral Function Select Register 10 has a
    width of 3 bits, i.e. it allows programming one out of 8 different
    configurations.
    However, 9 values are provided instead of 8, overflowing into the
    subsequent field in the register, and thus breaking the configuration of
    the latter.
    
    Fix this by dropping a bogus zero value.
    
    Fixes: ac1ebc2190f575fc ("sh-pfc: Add sh7734 pinmux support")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b00a4e75f88c534e1fa125f2638623042cbdfc41
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Thu Dec 13 14:27:56 2018 +0100

    pinctrl: sh-pfc: sh7269: Add missing PCIOR0 field
    
    [ Upstream commit 9540cbdfcd861caf67a6f0e4bb7f46d41c4aad86 ]
    
    The Port C I/O Register 0 contains 7 reserved bits, but the descriptor
    contains only dummy configuration values for 6 reserved bits, thus
    breaking the configuration of all subsequent fields in the register.
    
    Fix this by adding the two missing configuration values.
    
    Fixes: f5e811f2a43117b2 ("sh-pfc: Add sh7269 pinmux support")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 77b51e7a4a748230b1ed25219df64629731c44fd
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Thu Dec 13 13:59:42 2018 +0100

    pinctrl: sh-pfc: r8a77995: Remove bogus SEL_PWM[0-3]_3 configurations
    
    [ Upstream commit e28dc3f09c9d2555a9bd982f0847988591052226 ]
    
    While the SEL_PWM[0-3] fields in the Module Select Register 0 support 4
    possible configurations per PWM pin, only the first 3 are valid.
    
    Replace the invalid and unused configurations for SEL_PWM[0-3]_3 by
    dummies.
    
    Fixes: 794a6711764658a1 ("pinctrl: sh-pfc: Initial R8A77995 PFC support")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 698125bd59f3f87f9e3963eb05e239a86572e1a1
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Dec 12 14:42:16 2018 +0100

    pinctrl: sh-pfc: sh7734: Add missing IPSR11 field
    
    [ Upstream commit 94482af7055e1ffa211c1135256b85590ebcac99 ]
    
    The Peripheral Function Select Register 11 contains 3 reserved bits and
    15 variable-width fields, but the variable field descriptor does not
    contain the 3-bit field IP11[25:23].
    
    Fixes: 856cb4bb337ee504 ("sh: Add support pinmux for SH7734")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b6571e555f44d98745071677dffb9a36407f89ba
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Dec 12 14:36:54 2018 +0100

    pinctrl: sh-pfc: r8a77980: Add missing MOD_SEL0 field
    
    [ Upstream commit b0f77269f6bba385f1f4dce44e7756cf8fbc0176 ]
    
    The Module Select Register 0 contains 20 (= 5 x 4) reserved bits, and 12
    single-bit fields, but the variable field descriptor lacks a field of 4
    reserved bits.
    
    Fixes: f59125248a691dfe ("pinctrl: sh-pfc: Add R8A77980 PFC support")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bdeee764135af1fd54a36d9db73ad362759b0c33
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Dec 12 14:29:02 2018 +0100

    pinctrl: sh-pfc: r8a77970: Add missing MOD_SEL0 field
    
    [ Upstream commit 67d7745bc78e16ec6b3af02bc1da6c8c868cbd89 ]
    
    The Module Select Register 0 contains 20 (= 5 x 4) reserved bits, and 12
    single-bit fields, but the variable field descriptor lacks a field of 4
    reserved bits.
    
    Fixes: b92ac66a1819602b ("pinctrl: sh-pfc: Add R8A77970 PFC support")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0e8f3917c201ec427502d557a414029695acd945
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Dec 12 14:21:16 2018 +0100

    pinctrl: sh-pfc: r8a7794: Remove bogus IPSR9 field
    
    [ Upstream commit 6a6c195d98a1a5e70faa87f594d7564af1dd1bed ]
    
    The Peripheral Function Select Register 9 contains 12 fields, but the
    variable field descriptor contains a 13th bogus field of 3 bits.
    
    Fixes: 43c4436e2f1890a7 ("pinctrl: sh-pfc: add R8A7794 PFC support")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1ffc8456b5cc69ad90659c5038d89ed575046015
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Dec 12 11:20:14 2018 +0100

    pinctrl: sh-pfc: sh73a0: Add missing TO pin to tpu4_to3 group
    
    [ Upstream commit 124cde98f856b6206b804acbdec3b7c80f8c3427 ]
    
    The tpu4_to3_mux[] array contains the TPU4TO3 pin mark, but the
    tpu4_to3_pins[] array lacks the corresponding pin number.
    
    Add the missing pin number, for non-GPIO pin F26.
    
    Fixes: 5da4eb049de803c7 ("sh-pfc: sh73a0: Add TPU pin groups and functions")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0b7b02cc2ce79fa2da800b94ef94cceec5bd0090
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Dec 12 11:12:20 2018 +0100

    pinctrl: sh-pfc: r8a7791: Remove bogus marks from vin1_b_data18 group
    
    [ Upstream commit 0d6256cb880166a4111bebce35790019e56b6e1b ]
    
    The vin1_b_data18_mux[] arrays contains pin marks for the 2 LSB bits of
    the color components.  The vin1_b_data18_pins[] array rightfully does
    not include the corresponding pin numbers, as RGB18 is subset of RGB24,
    containing only the 6 MSB bits of each component.
    
    Fixes: 8e32c9671f84acd8 ("pinctrl: sh-pfc: r8a7791: Add VIN pins")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 795a2ec6dad841396ab9e0e42f042cb4925b7b76
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Dec 12 11:05:57 2018 +0100

    pinctrl: sh-pfc: r8a7791: Remove bogus ctrl marks from qspi_data4_b group
    
    [ Upstream commit 884fa25fb6e5e63ab970d612a628313bb68f37cc ]
    
    The qspi_data4_b_mux[] array contains pin marks for the clock and chip
    select pins.  The qspi_data4_b_pins[] array rightfully does not contain
    the corresponding pin numbers, as the control pins are provided by a
    separate group (qspi_ctrl_b).
    
    Fixes: 2d0c386f135e4186 ("pinctrl: sh-pfc: r8a7791: Add QSPI pin groups")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e34570a6ef3d43ad3a6b50eab224af2378616234
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Dec 12 11:00:27 2018 +0100

    pinctrl: sh-pfc: r8a7740: Add missing LCD0 marks to lcd0_data24_1 group
    
    [ Upstream commit 96bb2a6ab4eca10e5b6490b3f0738e9f7ec22c2b ]
    
    The lcd0_data24_1_pins[] array contains the LCD0 D1[2-5] pin numbers,
    but the lcd0_data24_1_mux[] array lacks the corresponding pin marks.
    
    Fixes: 06c7dd866da70f6c ("sh-pfc: r8a7740: Add LCDC0 and LCDC1 pin groups and functions")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2c27822edb2c617c1bed8ce8213111d0fcd52125
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Dec 12 10:57:27 2018 +0100

    pinctrl: sh-pfc: r8a7740: Add missing REF125CK pin to gether_gmii group
    
    [ Upstream commit 1ebc589a7786f17f97b9e87b44e0fb4d0290d8f8 ]
    
    The gether_gmii_mux[] array contains the REF125CK pin mark, but the
    gether_gmii_pins[] array lacks the corresponding pin number.
    
    Fixes: bae11d30d0cafdc5 ("sh-pfc: r8a7740: Add GETHER pin groups and functions")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7086d720f4ad124c57ed8a5e165c68f5f4ccd886
Author: Willem de Bruijn <willemb@google.com>
Date:   Mon Dec 17 12:23:59 2018 -0500

    ipv6: add missing tx timestamping on IPPROTO_RAW
    
    [ Upstream commit fbfb2321e950918b430e7225546296b2dcadf725 ]
    
    Raw sockets support tx timestamping, but one case is missing.
    
    IPPROTO_RAW takes a separate packet construction path. raw_send_hdrinc
    has an explicit call to sock_tx_timestamp, but rawv6_send_hdrinc does
    not. Add it.
    
    Fixes: 11878b40ed5c ("net-timestamp: SOCK_RAW and PING timestamping")
    Signed-off-by: Willem de Bruijn <willemb@google.com>
    Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4c1bc98da95bee0ead3e25c910475e40503b3166
Author: Kelvin Cao <kelvin.cao@microchip.com>
Date:   Mon Dec 10 17:12:20 2018 +0800

    switchtec: Remove immediate status check after submitting MRPC command
    
    [ Upstream commit 526180408b815aa7b96fd48bd23cdd33ef04e38e ]
    
    After submitting a Firmware Download MRPC command, Switchtec firmware will
    delay Management EP BAR MemRd TLP responses by more than 10ms.  This is a
    firmware limitation.  Delayed MemRd completions are a problem for systems
    with a low Completion Timeout (CTO).
    
    The current driver checks the MRPC status immediately after submitting an
    MRPC command, which results in a delayed MemRd completion that may cause a
    Completion Timeout.
    
    Remove the immediate status check and rely on the check after receiving an
    interrupt or timing out.
    
    This is only a software workaround to the READ issue and a proper fix of
    this should be done in firmware.
    
    Fixes: 080b47def5e5 ("MicroSemi Switchtec management interface driver")
    Signed-off-by: Kelvin Cao <kelvin.cao@microchip.com>
    Signed-off-by: Wesley Sheng <wesley.sheng@microchip.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 398301a621ed35fc12db157711e1ea74a267a5e3
Author: Stefan Wahren <stefan.wahren@i2se.com>
Date:   Thu Dec 6 19:28:52 2018 +0100

    staging: bcm2835-camera: fix module autoloading
    
    [ Upstream commit 3a2c20024a2b47adbf514e7f3ab79342739c3926 ]
    
    In order to make the module bcm2835-camera load automatically, we need to
    add a module alias.
    
    Fixes: 4bebb0312ea9 ("staging/bcm2835-camera: Set ourselves up as a platform driver.")
    Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
    Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
    Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 13a6b2276a8d1046ea18e4a8b53835935d794b2f
Author: Stefan Wahren <stefan.wahren@i2se.com>
Date:   Thu Dec 6 19:28:51 2018 +0100

    staging: bcm2835-camera: Abort probe if there is no camera
    
    [ Upstream commit 7566f39dfdc11f8a97d5810c6e6295a88f97ef91 ]
    
    Abort the probing of the camera driver in case there isn't a camera
    actually connected to the Raspberry Pi. This solution also avoids a
    NULL ptr dereference of mmal instance on driver unload.
    
    Fixes: 7b3ad5abf027 ("staging: Import the BCM2835 MMAL-based V4L2 camera driver.")
    Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
    Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
    Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bd8e3189b85c9bac3dfe8a46b97c1c51d203d77a
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Mon Dec 3 17:50:11 2018 +0300

    mailbox: ti-msgmgr: Off by one in ti_msgmgr_of_xlate()
    
    [ Upstream commit 78f3ff524fca63e7d2a57149a34ade23d2c12798 ]
    
    The > comparison should be >= or we access one element beyond the end
    of the array.
    
    (The inst->qinsts[] array is allocated in the ti_msgmgr_probe() function
    and it has ->num_valid_queues elements.)
    
    Fixes: a2b79838b891 ("mailbox: ti-msgmgr: Add support for Secure Proxy")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: Nishanth Menon <nm@ti.com>
    Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 20d1be36cdef3d1ca9b074da7bc1e4d49b32463f
Author: Yuval Shaia <yuval.shaia@oracle.com>
Date:   Sun Dec 9 15:53:49 2018 +0200

    IB/rxe: Fix incorrect cache cleanup in error flow
    
    [ Upstream commit 6db21d8986e14e2e86573a3b055b05296188bd2c ]
    
    Array iterator stays at the same slot, fix it.
    
    Fixes: 8700e3e7c485 ("Soft RoCE driver")
    Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
    Reviewed-by: Bart Van Assche <bvanassche@acm.org>
    Reviewed-by: Zhu Yanjun <yanjun.zhu@oracle.com>
    Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 60049737d61125c390c26b1007822809520ebc8c
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Tue Dec 11 16:39:36 2018 +0530

    OPP: Fix missing debugfs supply directory for OPPs
    
    [ Upstream commit 46f48aca2e5aef3f430e95d1a5fb68227ec8ec85 ]
    
    There is one case where we may end up with no "supply" directory for the
    OPPs in debugfs. That happens when the OPP core isn't managing the
    regulators for the device and the device's OPP do have microvolt
    property. It happens because the opp_table->regulator_count remains set
    to 0 and the debugfs routines don't add any supply directory in such a
    case.
    
    This commit fixes that by setting opp_table->regulator_count to 1 in
    that particular case. But to make everything work nicely and not break
    other parts of the core, regulator_count is defined as "int" now instead
    of "unsigned int" and it can have different special values now. It is
    set to -1 initially to mark it "uninitialized" and later only we set it
    to 0 or positive values after checking how many supplies are there.
    
    This also helps in finding the bugs where only few of the OPPs have the
    "opp-microvolt" property set and not all.
    
    Fixes: 1fae788ed640 ("PM / OPP: Don't create debugfs "supply-0" directory unnecessarily")
    Reported-by: Quentin Perret <quentin.perret@arm.com>
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7c084953f24a6c2cb71bf678601d11eda7d3d5f0
Author: Mitko Haralanov <mitko.haralanov@intel.com>
Date:   Wed Nov 28 10:19:15 2018 -0800

    IB/hfi1: Correctly process FECN and BECN in packets
    
    [ Upstream commit fe4dd4239277486ca3a468e7bbeafd7ef3a5634e ]
    
    A CA is supposed to ignore FECN bits in multicast, ACK, and CNP
    packets. This patch corrects the behavior of the HFI1 driver in this
    regard by ignoring FECNs in those packet types.
    
    While fixing the above behavior, fix the extraction of the FECN and BECN
    bits from the packet headers for both 9B and 16B packets.
    
    Furthermore, this patch corrects the driver's response to a FECN in RDMA
    READ RESPONSE packets. Instead of sending an "empty" ACK, the driver now
    sends a CNP packet. While editing that code path, add the missing trace
    for CNP packets.
    
    Fixes: 88733e3b8450 ("IB/hfi1: Add 16B UD support")
    Fixes: f59fb9e05109 ("IB/hfi1: Fix handling of FECN marked multicast packet")
    Reviewed-by: Kaike Wan <kaike.wan@intel.com>
    Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
    Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com>
    Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b70da284be7b23921d5ee0421aecf9722cc36215
Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Date:   Wed Nov 28 09:02:41 2018 +0000

    net: phy: Fix not to call phy_resume() if PHY is not attached
    
    [ Upstream commit ef1b5bf506b1f0ee3edc98533e1f3ecb105eb46a ]
    
    This patch fixes an issue that mdio_bus_phy_resume() doesn't call
    phy_resume() if the PHY is not attached.
    
    Fixes: 803dd9c77ac3 ("net: phy: avoid suspending twice a PHY")
    Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6741727015dcdcf7ff91dcbd562d32a4b7920198
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Thu Nov 29 11:34:35 2018 +0100

    arm64: dts: renesas: r8a7795-es1: Add missing power domains to IPMMU nodes
    
    [ Upstream commit 41e30b515a003a90e336b7a456c7c82d8c3aa6a7 ]
    
    While commit 3b7e7848f0e88b36 ("arm64: dts: renesas: r8a7795: Add IPMMU
    device nodes") for R-Car H3 ES2.0 did include power-domains properties,
    they were forgotten in the counterpart for older R-Car H3 ES1.x SoCs.
    
    Fixes: e4b9a493df45075b ("arm64: dts: renesas: r8a7795-es1: Add IPMMU device nodes")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ef28f178dc5dcacc5eaab1f482334af6c2a907d7
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Thu Nov 8 14:24:38 2018 +0100

    arm64: dts: meson-gx: Add hdmi_5v regulator as hdmi tx supply
    
    [ Upstream commit e1f2163deac059ad39f07aba9e314ebe605d5a7a ]
    
    The hdmi_5v regulator must be enabled to provide power to the physical HDMI
    PHY and enables the HDMI 5V presence loopback for the monitor.
    
    Fixes: b409f625a6d5 ("ARM64: dts: meson-gx: Add HDMI_5V regulator on selected boards")
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 035e304f95c3b3ed11ef8a0de48269ef4faad2e7
Author: Lyude Paul <lyude@redhat.com>
Date:   Tue Nov 13 17:46:14 2018 -0500

    drm/dp_mst: Skip validating ports during destruction, just ref
    
    [ Upstream commit c54c7374ff44de5e609506aca7c0deae4703b6d1 ]
    
    Jerry Zuo pointed out a rather obscure hotplugging issue that it seems I
    accidentally introduced into DRM two years ago.
    
    Pretend we have a topology like this:
    
    |- DP-1: mst_primary
       |- DP-4: active display
       |- DP-5: disconnected
       |- DP-6: active hub
          |- DP-7: active display
          |- DP-8: disconnected
          |- DP-9: disconnected
    
    If we unplug DP-6, the topology starting at DP-7 will be destroyed but
    it's payloads will live on in DP-1's VCPI allocations and thus require
    removal. However, this removal currently fails because
    drm_dp_update_payload_part1() will (rightly so) try to validate the port
    before accessing it, fail then abort. If we keep going, eventually we
    run the MST hub out of bandwidth and all new allocations will start to
    fail (or in my case; all new displays just start flickering a ton).
    
    We could just teach drm_dp_update_payload_part1() not to drop the port
    ref in this case, but then we also need to teach
    drm_dp_destroy_payload_step1() to do the same thing, then hope no one
    ever adds anything to the that requires a validated port reference in
    drm_dp_destroy_connector_work(). Kind of sketchy.
    
    So let's go with a more clever solution: any port that
    drm_dp_destroy_connector_work() interacts with is guaranteed to still
    exist in memory until we say so. While said port might not be valid we
    don't really care: that's the whole reason we're destroying it in the
    first place! So, teach drm_dp_get_validated_port_ref() to use the all
    mighty current_work() function to avoid attempting to validate ports
    from the context of mgr->destroy_connector_work. I can't see any
    situation where this wouldn't be safe, and this avoids having to play
    whack-a-mole in the future of trying to work around port validation.
    
    Signed-off-by: Lyude Paul <lyude@redhat.com>
    Fixes: 263efde31f97 ("drm/dp/mst: Get validated port ref in drm_dp_update_payload_part1()")
    Reported-by: Jerry Zuo <Jerry.Zuo@amd.com>
    Cc: Jerry Zuo <Jerry.Zuo@amd.com>
    Cc: Harry Wentland <Harry.Wentland@amd.com>
    Cc: <stable@vger.kernel.org> # v4.6+
    Reviewed-by: Dave Airlie <airlied@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20181113224613.28809-1-lyude@redhat.com
    Signed-off-by: Sean Paul <seanpaul@chromium.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a03e8f192ad2b3378cc24988874726dace837616
Author: Willem de Bruijn <willemb@google.com>
Date:   Sat Nov 24 14:21:16 2018 -0500

    net: always initialize pagedlen
    
    [ Upstream commit aba36930a35e7f1fe1319b203f25c05d6c119936 ]
    
    In ip packet generation, pagedlen is initialized for each skb at the
    start of the loop in __ip(6)_append_data, before label alloc_new_skb.
    
    Depending on compiler options, code can be generated that jumps to
    this label, triggering use of an an uninitialized variable.
    
    In practice, at -O2, the generated code moves the initialization below
    the label. But the code should not rely on that for correctness.
    
    Fixes: 15e36f5b8e98 ("udp: paged allocation with gso")
    Signed-off-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 23ad614cb5001fc005e85e7ecff6959380366783
Author: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Date:   Wed Oct 17 22:08:31 2018 +0300

    drm: rcar-du: Fix vblank initialization
    
    [ Upstream commit 3d61fe5f59dd3e6f96fc0772156d257cb04dc656 ]
    
    The drm_vblank_init() takes the total number of CRTCs as an argument,
    but the rcar-du driver passes a bitmask of the CRTC indices. Fix it.
    
    Fixes: 4bf8e1962f91 ("drm: Renesas R-Car Display Unit DRM driver")
    Reported-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
    Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 81bdcb375c8beb93348cc6849617abb75cec7e34
Author: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Date:   Tue Oct 16 08:58:25 2018 +0200

    drm: rcar-du: Fix the return value in case of error in 'rcar_du_crtc_set_crc_source()'
    
    [ Upstream commit 4d486f18d91b1876040bf87e9ad78981a08b15a6 ]
    
    We return 0 unconditionally in 'rcar_du_crtc_set_crc_source()'.
    However, 'ret' is set to some error codes if some function calls fail.
    
    Return 'ret' instead to propagate the error code.
    
    Fixes: 47a52d024e89 ("media: drm: rcar-du: Add support for CRC computation")
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 296f9d916cb592c933e6f6aad6c3026bfcb45a97
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Mon Nov 19 11:32:41 2018 +0800

    exportfs: fix 'passing zero to ERR_PTR()' warning
    
    [ Upstream commit 909e22e05353a783c526829427e9a8de122fba9c ]
    
    Fix a static code checker warning:
      fs/exportfs/expfs.c:171 reconnect_one() warn: passing zero to 'ERR_PTR'
    
    The error path for lookup_one_len_unlocked failure
    should set err to PTR_ERR.
    
    Fixes: bbf7a8a3562f ("exportfs: move most of reconnect_path to helper function")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fa3302ef721f6daa80baac04bcd30110391e82e5
Author: Tony Lindgren <tony@atomide.com>
Date:   Thu Nov 15 14:46:53 2018 -0800

    bus: ti-sysc: Add mcasp optional clocks flag
    
    [ Upstream commit 2c63a833e4500b341a62bf97e67488909ae12086 ]
    
    We have OPT_CLKS_NEEDED in legacy platform data, but it's missing
    from the ti-sysc driver for device tree based configuration.
    
    In order to pass OPT_CLKS_NEEDED quirk flag we need to update omap4 module
    data and add a new compatible for dra7 as the module layout is different
    from sysc_regbits_omap4_mcasp.
    
    Fixes: 70a65240efb1 ("bus: ti-sysc: Add register bits for interconnect
    target modules")
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Rob Herring <robh+dt@kernel.org>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a61f577e6d7e66fd20826f431ca89418171ea41b
Author: Neil Armstrong <narmstrong@baylibre.com>
Date:   Wed Nov 7 11:42:38 2018 +0100

    pinctrl: meson-gxl: remove invalid GPIOX tsin_a pins
    
    [ Upstream commit d801064cb871806e6843738ecad38993646f53f7 ]
    
    The GPIOX tsin_a pins wrongly uses the SDCard pinctrl bits, this
    patch completely removes these pins entries until we find out what
    are the correct bits and registers to be used instead.
    
    Fixes: 5a6ae9b80139 ("pinctrl: meson-gxl: add tsin_a pins")
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 136970c10ea1d9b38ae2185af0d9ee13615f236b
Author: Vasily Khoruzhick <anarsoul@gmail.com>
Date:   Thu Nov 8 20:24:19 2018 -0800

    ASoC: sun8i-codec: add missing route for ADC
    
    [ Upstream commit 9ee325d029c4abb75716851ce38863845911d605 ]
    
    sun8i-codec misses a route from ADC to AIF1 Slot 0 ADC. Add it
    to the driver to avoid adding it to every dts.
    
    Fixes: eda85d1fee05d ("ASoC: sun8i-codec: Add ADC support for a33")
    Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e0e7ae6cc7818378fab0da7602126f0bac331d0b
Author: Colin Ian King <colin.king@canonical.com>
Date:   Sat Oct 27 15:49:26 2018 +0100

    pcrypt: use format specifier in kobject_add
    
    [ Upstream commit b1e3874c75ab15288f573b3532e507c37e8e7656 ]
    
    Passing string 'name' as the format specifier is potentially hazardous
    because name could (although very unlikely to) have a format specifier
    embedded in it causing issues when parsing the non-existent arguments
    to these.  Follow best practice by using the "%s" format string for
    the string 'name'.
    
    Cleans up clang warning:
    crypto/pcrypt.c:397:40: warning: format string is not a string literal
    (potentially insecure) [-Wformat-security]
    
    Fixes: a3fb1e330dd2 ("pcrypt: Added sysfs interface to pcrypt")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 50d0d1b05b080fdb0ce497ffbec69e86afde0a26
Author: Phil Elwell <phil@raspberrypi.org>
Date:   Mon Sep 17 09:22:24 2018 +0100

    ARM: dts: bcm283x: Correct mailbox register sizes
    
    [ Upstream commit 227fa865061470a568858baa404a508f6c030fe4 ]
    
    The size field in a Device Tree "reg" property is encoded in bytes, not
    words.
    
    Fixes: 614fa22119d6 ("ARM: dts: bcm2835: Add VCHIQ node to the Raspberry Pi boards. (v3)")
    Signed-off-by: Phil Elwell <phil@raspberrypi.org>
    Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
    Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e82db5bec17e6baa0a3594bab5c24decc02f0aa0
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Fri Nov 2 16:18:21 2018 +0100

    ASoC: wm97xx: fix uninitialized regmap pointer problem
    
    [ Upstream commit 576ce4075bfa0f03e0e91a89eecc539b3b828b08 ]
    
    gcc notices that without either the ac97 bus or the pdata, we never
    initialize the regmap pointer, which leads to an uninitialized variable
    access:
    
    sound/soc/codecs/wm9712.c: In function 'wm9712_soc_probe':
    sound/soc/codecs/wm9712.c:666:2: error: 'regmap' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
    Since that configuration is invalid, it's better to return an error
    here. I tried to avoid adding complexity to the conditions, and turned
    the #ifdef into a regular if(IS_ENABLED()) check for readability.
    This in turn requires moving some header file declarations out of
    an #ifdef.
    
    The same code is used in three drivers, all of which I'm changing
    the same way.
    
    Fixes: 2ed1a8e0ce8d ("ASoC: wm9712: add ac97 new bus support")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9ee29cc7b98010a1b629a48e6f27aa038fe2c314
Author: Gustavo A. R. Silva <gustavo@embeddedor.com>
Date:   Mon Aug 27 17:13:06 2018 -0500

    NTB: ntb_hw_idt: replace IS_ERR_OR_NULL with regular NULL checks
    
    [ Upstream commit 1b7619828d0c341612f58683e73f279c37e70bbc ]
    
    Both devm_kcalloc() and devm_kzalloc() return NULL on error. They
    never return error pointers.
    
    The use of IS_ERR_OR_NULL is currently applied to the wrong
    context.
    
    Fix this by replacing IS_ERR_OR_NULL with regular NULL checks.
    
    Fixes: bf2a952d31d2 ("NTB: Add IDT 89HPESxNTx PCIe-switches support")
    Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    Signed-off-by: Jon Mason <jdmason@kudzu.us>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a42d83d0a94351064e7b5614e32a80533901968d
Author: Petr Machata <petrm@mellanox.com>
Date:   Wed Oct 31 09:56:44 2018 +0000

    mlxsw: spectrum: Set minimum shaper on MC TCs
    
    [ Upstream commit 0fe64023162aef123de2f1993ba13a35a786e1de ]
    
    An MC-aware mode was introduced in commit 7b8195306694 ("mlxsw:
    spectrum: Configure MC-aware mode on mlxsw ports"). In MC-aware mode,
    BUM traffic gets a special treatment by being assigned to a separate set
    of traffic classes 8..15. Pairs of TCs 0 and 8, 1 and 9, etc., are then
    configured to strictly prioritize the lower-numbered ones. The intention
    is to prevent BUM traffic from flooding the switch and push out all UC
    traffic, which would otherwise happen, and instead give UC traffic
    precedence.
    
    However strictly prioritizing UC traffic has the effect that UC overload
    pushes out all BUM traffic, such as legitimate ARP queries. These
    packets are kept in queues for a while, but under sustained UC overload,
    their lifetime eventually expires and these packets are dropped. That is
    detrimental to network performance as well.
    
    Therefore configure the MC TCs (8..15) with minimum shaper of 200Mbps (a
    minimum permitted value) to allow a trickle of necessary control traffic
    to get through.
    
    Fixes: 7b8195306694 ("mlxsw: spectrum: Configure MC-aware mode on mlxsw ports")
    Signed-off-by: Petr Machata <petrm@mellanox.com>
    Signed-off-by: Ido Schimmel <idosch@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 31bd62e1862eb6a4374540c5610d52cca82690cd
Author: Petr Machata <petrm@mellanox.com>
Date:   Wed Oct 31 09:56:42 2018 +0000

    mlxsw: reg: QEEC: Add minimum shaper fields
    
    [ Upstream commit 8b931821aa04823e2e5df0ae93937baabbd23286 ]
    
    Add QEEC.mise (minimum shaper enable) and QEEC.min_shaper_rate to enable
    configuration of minimum shaper.
    
    Increase the QEEC length to 0x20 as well: that's the length that the
    register has had for a long time now, but with the configurations that
    mlxsw typically exercises, the firmware tolerated 0x1C-sized packets.
    With mise=true however, FW rejects packets unless they have the full
    required length.
    
    Fixes: b9b7cee40579 ("mlxsw: reg: Add QoS ETS Element Configuration register")
    Signed-off-by: Petr Machata <petrm@mellanox.com>
    Signed-off-by: Ido Schimmel <idosch@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 93886a7f1082a84064bbe51e20d70b1efd3cda7c
Author: Huazhong Tan <tanhuazhong@huawei.com>
Date:   Tue Oct 30 21:50:43 2018 +0800

    net: hns3: add error handler for hns3_nic_init_vector_data()
    
    [ Upstream commit ece4bf46e98c9f3775a488f3932a531508d3b1a2 ]
    
    When hns3_nic_init_vector_data() fails to map ring to vector,
    it should cancel the netif_napi_add() that has been successfully
    done and then exits.
    
    Fixes: 76ad4f0ee747 ("net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC")
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7fa8d89c566995be256bd7f90b51a3407ac61dae
Author: Maxime Ripard <mripard@kernel.org>
Date:   Sun Oct 21 18:34:46 2018 +0200

    drm/sun4i: hdmi: Fix double flag assignation
    
    [ Upstream commit 1e0ff648940e603cab6c52cf3723017d30d78f30 ]
    
    The is_double flag is a boolean currently assigned to the value of the d
    variable, that is either 1 or 2. It means that this is_double variable is
    always set to true, even though the initial intent was to have it set to
    true when d is 2.
    
    Fix this.
    
    Fixes: 9c5681011a0c ("drm/sun4i: Add HDMI support")
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
    Reviewed-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20181021163446.29135-2-maxime.ripard@bootlin.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 38cd31f38159bc6c72051eae026c0def2cac2410
Author: Masahisa Kojima <masahisa.kojima@linaro.org>
Date:   Tue Oct 23 20:24:27 2018 +0900

    net: socionext: Add dummy PHY register read in phy_write()
    
    [ Upstream commit a3241a91de6429051a211b5ce04d6946157caec7 ]
    
    There is a compatibility issue between RTL8211E implemented
    in Developerbox and netsec ethernet controller IP.
    
    Our MDIO controller stops MDC clock right after the write
    access, but RTL8211E expects MDC clock must be kept toggling
    for several clock cycle with MDIO high before entering
    the IDLE state. Without keeping clock after write access,
    write access is not correctly handled and register is not
    updated.
    
    To meet this requirement, netsec driver needs to issue dummy
    read(e.g. read PHYID1(offset 0x2) register) right after write
    access, to keep MDC clock.
    
    We think this compatibility issue is a problem specific to
    our MDIO controller and RTL8211E.
    
    Fixes: 533dd11a12f6 ("net: socionext: Add Synquacer NetSec driver")
    Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
    Signed-off-by: Yoshitoyo Osaki <osaki.yoshitoyo@socionext.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5d070b430a9a7f50e26dcc9a952eb1b38467f8be
Author: Jon Maloy <jon.maloy@ericsson.com>
Date:   Fri Oct 19 19:55:40 2018 +0200

    tipc: eliminate message disordering during binding table update
    
    [ Upstream commit 988f3f1603d4650409db5334355cbf7b13ef50c3 ]
    
    We have seen the following race scenario:
    1) named_distribute() builds a "bulk" message, containing a PUBLISH
       item for a certain publication. This is based on the contents of
       the binding tables's 'cluster_scope' list.
    2) tipc_named_withdraw() removes the same publication from the list,
       bulds a WITHDRAW message and distributes it to all cluster nodes.
    3) tipc_named_node_up(), which was calling named_distribute(), sends
       out the bulk message built under 1)
    4) The WITHDRAW message arrives at the just detected node, finds
       no corresponding publication, and is dropped.
    5) The PUBLISH item arrives at the same node, is added to its binding
       table, and remains there forever.
    
    This arrival disordering was earlier taken care of by the backlog queue,
    originally added for a different purpose, which was removed in the
    commit referred to below, but we now need a different solution.
    In this commit, we replace the rcu lock protecting the 'cluster_scope'
    list with a regular RW lock which comprises even the sending of the
    bulk message. This both guarantees both the list integrity and the
    message sending order. We will later add a commit which cleans up
    this code further.
    
    Note that this commit needs recently added commit d3092b2efca1 ("tipc:
    fix unsafe rcu locking when accessing publication list") to apply
    cleanly.
    
    Fixes: 37922ea4a310 ("tipc: permit overlapping service ranges in name table")
    Reported-by: Tuong Lien Tong <tuong.t.lien@dektech.com.au>
    Acked-by: Ying Xue <ying.xue@windriver.com>
    Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bec059abefab39adbbc779866d5473d0b59e2b0e
Author: Christophe Leroy <christophe.leroy@c-s.fr>
Date:   Tue Sep 18 09:26:03 2018 +0000

    powerpc/kgdb: add kgdb_arch_set/remove_breakpoint()
    
    [ Upstream commit fb978ca207743badfe7efd9eebe68bcbb4969f79 ]
    
    Generic implementation fails to remove breakpoints after init
    when CONFIG_STRICT_KERNEL_RWX is selected:
    
    [   13.251285] KGDB: BP remove failed: c001c338
    [   13.259587] kgdbts: ERROR PUT: end of test buffer on 'do_fork_test' line 8 expected OK got $E14#aa
    [   13.268969] KGDB: re-enter exception: ALL breakpoints killed
    [   13.275099] CPU: 0 PID: 1 Comm: init Not tainted 4.18.0-g82bbb913ffd8 #860
    [   13.282836] Call Trace:
    [   13.285313] [c60e1ba0] [c0080ef0] kgdb_handle_exception+0x6f4/0x720 (unreliable)
    [   13.292618] [c60e1c30] [c000e97c] kgdb_handle_breakpoint+0x3c/0x98
    [   13.298709] [c60e1c40] [c000af54] program_check_exception+0x104/0x700
    [   13.305083] [c60e1c60] [c000e45c] ret_from_except_full+0x0/0x4
    [   13.310845] [c60e1d20] [c02a22ac] run_simple_test+0x2b4/0x2d4
    [   13.316532] [c60e1d30] [c0081698] put_packet+0xb8/0x158
    [   13.321694] [c60e1d60] [c00820b4] gdb_serial_stub+0x230/0xc4c
    [   13.327374] [c60e1dc0] [c0080af8] kgdb_handle_exception+0x2fc/0x720
    [   13.333573] [c60e1e50] [c000e928] kgdb_singlestep+0xb4/0xcc
    [   13.339068] [c60e1e70] [c000ae1c] single_step_exception+0x90/0xac
    [   13.345100] [c60e1e80] [c000e45c] ret_from_except_full+0x0/0x4
    [   13.350865] [c60e1f40] [c000e11c] ret_from_syscall+0x0/0x38
    [   13.356346] Kernel panic - not syncing: Recursive entry to debugger
    
    This patch creates powerpc specific version of
    kgdb_arch_set_breakpoint() and kgdb_arch_remove_breakpoint()
    using patch_instruction()
    
    Fixes: 1e0fc9d1eb2b ("powerpc/Kconfig: Enable STRICT_KERNEL_RWX for some configs")
    Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit efac7747ad303a0fc56de56bb0d37baa3d1a7d74
Author: Taehee Yoo <ap420073@gmail.com>
Date:   Fri Oct 12 03:46:29 2018 +0900

    netfilter: nf_flow_table: do not remove offload when other netns's interface is down
    
    [ Upstream commit a3fb3698cadf27dc142b24394c401625e14d80d0 ]
    
    When interface is down, offload cleanup function(nf_flow_table_do_cleanup)
    is called and that checks whether interface index of offload and
    index of link down interface is same. but only interface index checking
    is not enough because flowtable is not pernet list.
    So that, if other netns's interface that has index is same with offload
    is down, that offload will be removed.
    This patch adds netns checking code to the offload cleanup routine.
    
    Fixes: 59c466dd68e7 ("netfilter: nf_flow_table: add a new flow state for tearing down offloading")
    Signed-off-by: Taehee Yoo <ap420073@gmail.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 528d86d44b82f1b3828cca544be9fcafa58051e9
Author: Selvin Xavier <selvin.xavier@broadcom.com>
Date:   Mon Oct 8 03:27:52 2018 -0700

    RDMA/bnxt_re: Add missing spin lock initialization
    
    [ Upstream commit 5a23e0b1dd51fe0efae666b03fdb15e1301f437a ]
    
    Add the missing initalization of the cq_lock and qplib.flush_lock.
    
    Fixes: 942c9b6ca8de ("RDMA/bnxt_re: Avoid Hard lockup during error CQE processing")
    Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cd35ab5a4fd652cc3fda7c4edf8e4b8f1b982985
Author: Colin Ian King <colin.king@canonical.com>
Date:   Mon Oct 8 09:50:28 2018 +0100

    rtlwifi: rtl8821ae: replace _rtl8821ae_mrate_idx_to_arfr_id with generic version
    
    [ Upstream commit c894696188d5c2af1e636e458190e80c53fb893d ]
    
    Function _rtl8821ae_mrate_idx_to_arfr_id is functionally identical to
    the generic version rtl_mrate_idx_to_arfr_id, so remove
    _rtl8821ae_mrate_idx_to_arfr_id and use the generic one instead.
    
    This also fixes a missing break statement found by CoverityScan in
    _rtl8821ae_mrate_idx_to_arfr_id, namely: CID#1167237 ("Missing break
    in switch")
    
    Thanks to Joe Perches for spotting this when I submitted an earlier patch.
    
    Fixes: 3c05bedb5fef ("Staging: rtl8812ae: Add Realtek 8821 PCI WIFI driver")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    ACKed-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b9d50ba3c8db656e0ef89795d452558b6fdbf64a
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Tue Oct 9 21:59:13 2018 +0800

    powerpc/pseries/memory-hotplug: Fix return value type of find_aa_index
    
    [ Upstream commit b45e9d761ba2d60044b610297e3ef9f947ac157f ]
    
    The variable 'aa_index' is defined as an unsigned value in
    update_lmb_associativity_index(), but find_aa_index() may return -1
    when dlpar_clone_property() fails. So change find_aa_index() to return
    a bool, which indicates whether 'aa_index' was found or not.
    
    Fixes: c05a5a40969e ("powerpc/pseries: Dynamic add entires to associativity lookup array")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Reviewed-by: Nathan Fontenot nfont@linux.vnet.ibm.com>
    [mpe: Tweak changelog, rename is_found to just found]
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0b63a86ea90f7a8342aef7ffd49eeb61a32afe21
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Fri Oct 12 12:12:28 2018 +0200

    pwm: lpss: Release runtime-pm reference from the driver's remove callback
    
    [ Upstream commit 42885551cedb45961879d2fc3dc3c4dc545cc23e ]
    
    For each pwm output which gets enabled through pwm_lpss_apply(), we do a
    pm_runtime_get_sync().
    
    This commit adds pm_runtime_put() calls to pwm_lpss_remove() to balance
    these when the driver gets removed with some of the outputs still enabled.
    
    Fixes: f080be27d7d9 ("pwm: lpss: Add support for runtime PM")
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d2c06876e7a3a56fddc9f947bcb98b0dad3182ba
Author: Fernando Fernandez Mancera <ffmancera@riseup.net>
Date:   Wed Oct 10 09:56:09 2018 +0200

    netfilter: nft_osf: usage from output path is not valid
    
    [ Upstream commit 4a3e71b7b7dbaf3562be9d508260935aa13cb48b ]
    
    The nft_osf extension, like xt_osf, is not supported from the output
    path.
    
    Fixes: b96af92d6eaf ("netfilter: nf_tables: implement Passive OS fingerprint module in nft_osf")
    Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 634322efa20f61214140e23bd23036edd148ae6d
Author: Spencer E. Olson <olsonse@umich.edu>
Date:   Wed Oct 3 14:54:16 2018 -0600

    staging: comedi: ni_mio_common: protect register write overflow
    
    [ Upstream commit 1cbca5852d6c16e85a21487a15d211195aacd4a1 ]
    
    Fixes two problems introduced as early as
    commit 03aef4b6dc12  ("Staging: comedi: add ni_mio_common code"):
    (1) Ensures that the last four bits of NISTC_RTSI_TRIGB_OUT_REG register is
        not unduly overwritten on e-series devices.  On e-series devices, the
        first three of the last four bits are reserved.  The last bit defines
        the output selection of the RGOUT0 pin, otherwise known as
        RTSI_Sub_Selection.  For m-series devices, these last four bits are
        indeed used as the output selection of the RTSI7 pin (and the
        RTSI_Sub_Selection bit for the RGOUT0 pin is moved to the
        RTSI_Trig_Direction register.
    (2) Allows all 4 RTSI_BRD lines to be treated as valid sources for RTSI
        lines.
    
    This patch also cleans up the ni_get_rtsi_routing command for readability.
    
    Fixes: 03aef4b6dc12  ("Staging: comedi: add ni_mio_common code")
    Signed-off-by: Spencer E. Olson <olsonse@umich.edu>
    Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 11b1ef19429d08014b42f7e4ee88796193058e60
Author: Naftali Goldstein <naftali.goldstein@intel.com>
Date:   Tue Jun 12 09:08:40 2018 +0300

    iwlwifi: nvm: get num of hw addresses from firmware
    
    [ Upstream commit e7eeee08434873c2f781dc1afaa42b03a014b95d ]
    
    With NICs that don't read the NVM directly and instead rely on getting
    the relevant data from the firmware, the number of reserved MAC
    addresses was not added to the API. This caused the driver to assume
    there is only one address which results in all interfaces getting the
    same address. Update the API to fix this.
    
    While at it, fix-up the comments with firmware api names to actually
    match what we have in the firmware.
    
    Fixes: e9e1ba3dbf00 ("iwlwifi: mvm: support getting nvm data from firmware")
    Signed-off-by: Naftali Goldstein <naftali.goldstein@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ac3f1f2592cb469c29419fc499de7079847d5d2f
Author: Nicolas Huaman <nicolas@herochao.de>
Date:   Thu Oct 4 16:42:05 2018 +0200

    ALSA: usb-audio: update quirk for B&W PX to remove microphone
    
    [ Upstream commit c369c8db15d51fa175d2ba85928f79d16af6b562 ]
    
    A quirk in snd-usb-audio was added to automate setting sample rate to
    4800k and remove the previously exposed nonfunctional microphone for
    the Bowers & Wilkins PX:
    commit 240a8af929c7c57dcde28682725b29cf8474e8e5
    https://lore.kernel.org/patchwork/patch/919689/
    
    However the headphones where updated shortly after that to remove the
    unintentional microphone functionality. I guess because of this the
    headphones now crash when connecting them via USB while the quirk is
    active. Dmesg:
    
    snd-usb-audio: probe of 2-3:1.0 failed with error -22
    usb 2-3: 2:1: cannot get min/max values for control 2 (id 2)
    
    This patch removes the microfone and allows the headphones to connect
    and work out of the box. It is based on the current mainline kernel
     and successfully applied an tested on my machine (4.18.10.arch1-1).
    
    Fixes: 240a8af929c7 ("ALSA: usb-audio: Add a quirck for B&W PX headphones")
    Signed-off-by: Nicolas Huaman <nicolas@herochao.de>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b3e4010f18cda4088066d2e2cea3e73379d88281
Author: Rob Herring <robh@kernel.org>
Date:   Mon Oct 1 10:54:51 2018 -0500

    of: Fix property name in of_node_get_device_type
    
    [ Upstream commit 5d5a0ab1a7918fce5ca5c0fb1871a3e2000f85de ]
    
    Commit 0413bedabc88 ("of: Add device_type access helper functions")
    added a new helper not yet used in preparation for some treewide clean
    up of accesses to 'device_type' properties. Unfortunately, there's an
    error and 'type' was used for the property name. Fix this.
    
    Fixes: 0413bedabc88 ("of: Add device_type access helper functions")
    Cc: Frank Rowand <frowand.list@gmail.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a2880a917995171223f9988124b6de722ffa695b
Author: Colin Ian King <colin.king@canonical.com>
Date:   Tue Aug 21 12:55:19 2018 +0100

    drm/msm: fix unsigned comparison with less than zero
    
    [ Upstream commit dfdb3be43ef1195c491e6c3760b922acb52e3575 ]
    
    The return from the call to _mixer_stages can be a negative error
    code however this is being assigned to an unsigned variable 'stages'
    hence the check is always false. Fix this by making 'stages' an
    int.
    
    Detected by Coccinelle ("Unsigned expression compared with zero:
    stages < 0")
    
    Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Rob Clark <robdclark@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bc0bb4cedd15da3f71815fca900a78cea222f6d8
Author: Tomas Winkler <tomas.winkler@intel.com>
Date:   Fri Sep 28 23:27:48 2018 +0300

    mei: replace POLL* with EPOLL* for write queues.
    
    [ Upstream commit 03b2cbb6ea3c73e08fcf72d9ef8e286c4dcbd1fe ]
    
    Looks like during merging the bulk POLL* -> EPOLL* replacement
    missed the patch
    'commit af336cabe083 ("mei: limit the number of queued writes")'
    
    Fix sparse warning:
    drivers/misc/mei/main.c:602:13: warning: restricted __poll_t degrades to integer
    drivers/misc/mei/main.c:605:30: warning: invalid assignment: |=
    drivers/misc/mei/main.c:605:30:    left side has type restricted __poll_t
    drivers/misc/mei/main.c:605:30:    right side has type int
    
    Fixes: af336cabe083 ("mei: limit the number of queued writes")
    Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d934e5ce93819d9ff749d40d20037b98af773c9f
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Mon Oct 1 11:43:00 2018 +0200

    cfg80211: regulatory: make initialization more robust
    
    [ Upstream commit 71e5e886806ee3f8e0c44ed945eb2e4d6659c6e3 ]
    
    Since my change to split out the regulatory init to occur later,
    any issues during earlier cfg80211_init() or errors during the
    platform device allocation would lead to crashes later. Make this
    more robust by checking that the earlier initialization succeeded.
    
    Fixes: d7be102f2945 ("cfg80211: initialize regulatory keys/database later")
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6d78742c572ea1e2b8f63cf161a73dcfed2928f7
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Thu Aug 30 12:16:58 2018 +0200

    usb: gadget: fsl_udc_core: check allocation return value and cleanup on failure
    
    [ Upstream commit 4ab2b48c98f2ec9712452d520a381917f91ac3d2 ]
    
    The allocation with fsl_alloc_request() and kmalloc() were unchecked
    fixed this up with a NULL check and appropriate cleanup.
    
    Additionally udc->ep_qh_size was reset to 0 on failure of allocation.
    Similar udc->phy_mode is initially 0 (as udc_controller was
    allocated with kzalloc in fsl_udc_probe()) so reset it to 0 as well
    so that this function is side-effect free on failure. Not clear if
    this is necessary or sensible as fsl_udc_release() probably can not
    be called if fsl_udc_probe() failed - but it should not hurt.
    
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Fixes: b504882da5 ("USB: add Freescale high-speed USB SOC device controller driver")
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bc2ddaa2ab57d784ae46fa1af32551bd05268b1c
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Thu Sep 13 11:37:31 2018 +0200

    usb: dwc3: add EXTCON dependency for qcom
    
    [ Upstream commit 3def4031b3e3fbb524cbd01555b057a6cef0d5e6 ]
    
    Like the omap back-end, we get a link error with CONFIG_EXTCON=m
    when building the qcom back-end into the kernel:
    
    drivers/usb/dwc3/dwc3-qcom.o: In function `dwc3_qcom_probe':
    dwc3-qcom.c:(.text+0x13dc): undefined reference to `extcon_get_edev_by_phandle'
    dwc3-qcom.c:(.text+0x1b18): undefined reference to `devm_extcon_register_notifier'
    dwc3-qcom.c:(.text+0x1b9c): undefined reference to `extcon_get_state'
    
    Do the same thing as OMAP and add an explicit dependency on
    EXTCON.
    
    Fixes: a4333c3a6ba9 ("usb: dwc3: Add Qualcomm DWC3 glue driver")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c153dcfc29b94410335b6a1b547560682895ed7a
Author: Marc Zyngier <maz@kernel.org>
Date:   Mon Oct 1 11:05:22 2018 +0100

    genirq/debugfs: Reinstate full OF path for domain name
    
    [ Upstream commit 94967b55ebf3b603f2fe750ecedd896042585a1c ]
    
    On a DT based system, we use the of_node full name to name the
    corresponding irq domain. We expect that name to be unique, so so that
    domains with the same base name won't clash (this happens on multi-node
    topologies, for example).
    
    Since a7e4cfb0a7ca ("of/fdt: only store the device node basename in
    full_name"), of_node_full_name() lies and only returns the basename. This
    breaks the above requirement, and we end-up with only a subset of the
    domains in /sys/kernel/debug/irq/domains.
    
    Let's reinstate the feature by using the fancy new %pOF format specifier,
    which happens to do the right thing.
    
    Fixes: a7e4cfb0a7ca ("of/fdt: only store the device node basename in full_name")
    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lkml.kernel.org/r/20181001100522.180054-3-marc.zyngier@arm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4f7961e64dc8824f352b4ff48407d5f5f8e36b94
Author: Alex Estrin <alex.estrin@intel.com>
Date:   Wed Sep 26 10:56:03 2018 -0700

    IB/hfi1: Add mtu check for operational data VLs
    
    [ Upstream commit eb50130964e8c1379f37c3d3bab33a411ec62e98 ]
    
    Since Virtual Lanes BCT credits and MTU are set through separate MADs, we
    have to ensure both are valid, and data VLs are ready for transmission
    before we allow port transition to Armed state.
    
    Fixes: 5e2d6764a729 ("IB/hfi1: Verify port data VLs credits on transition to Armed")
    Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
    Signed-off-by: Alex Estrin <alex.estrin@intel.com>
    Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit aecb30aedacb477454a1a57eca839988306bf943
Author: Zhu Yanjun <yanjun.zhu@oracle.com>
Date:   Sun Sep 30 01:57:42 2018 -0400

    IB/rxe: replace kvfree with vfree
    
    [ Upstream commit 721ad7e643f7002efa398838693f90284ea216d1 ]
    
    The buf is allocated by vmalloc_user in the function rxe_queue_init.
    So it is better to free it by vfree.
    
    Fixes: 8700e3e7c485 ("Soft RoCE driver")
    Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Zhu Yanjun <yanjun.zhu@oracle.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e60f60a4cde824604299cb60e83d623b78326ee5
Author: Houlong Wei <houlong.wei@mediatek.com>
Date:   Tue Aug 21 18:22:44 2018 +0800

    mailbox: mediatek: Add check for possible failure of kzalloc
    
    [ Upstream commit 9f0a0a381c5db56e7922dbeea6831f27db58372f ]
    
    The patch 623a6143a845("mailbox: mediatek: Add Mediatek CMDQ driver")
    introduce the following static checker warning:
      drivers/mailbox/mtk-cmdq-mailbox.c:366 cmdq_mbox_send_data()
      error: potential null dereference 'task'.  (kzalloc returns null)
    
    Fixes: 623a6143a845 ("mailbox: mediatek: Add Mediatek CMDQ driver")
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Houlong Wei <houlong.wei@mediatek.com>
    Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 08e7931218521d61594e5b2ba9dea68dd9a3f13b
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Wed Sep 26 21:37:40 2018 +0200

    ASoC: wm9712: fix unused variable warning
    
    [ Upstream commit 18380dcc52cc8965e5144ce33fdfad7e168679a5 ]
    
    The 'ret' variable is now only used in an #ifdef, and causes a
    warning if it is declared outside of that block:
    
    sound/soc/codecs/wm9712.c: In function 'wm9712_soc_probe':
    sound/soc/codecs/wm9712.c:641:6: error: unused variable 'ret' [-Werror=unused-variable]
    
    Fixes: 2ed1a8e0ce8d ("ASoC: wm9712: add ac97 new bus support")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bce5c4c3038cd26e7d7f00dd702aedefae6542a3
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Mon Apr 16 13:55:53 2018 -0500

    signal/ia64: Use the force_sig(SIGSEGV,...) in ia64_rt_sigreturn
    
    [ Upstream commit b92adb74adde62d9a9780ff2977d63dcb21aeaa6 ]
    
    The ia64 handling of failure to return from a signal frame has been trying
    to set overlapping fields in struct siginfo since 2.3.43.  The si_code
    corresponds to the fields that were stomped (not the field that is
    actually written), so I can not imagine a piece of userspace code
    making sense of the signal frame if it looks closely.
    
    In practice failure to return from a signal frame is a rare event that
    almost never happens.  Someone using an alternate signal stack to
    recover and looking in detail is even more rare.  So I presume no one
    has ever noticed and reported this ia64 nonsense.
    
    Sort this out by causing ia64 to use force_sig(SIGSEGV) like other architectures.
    
    Fixes: 2.3.43
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: linux-ia64@vger.kernel.org
    Acked-by: Tony Luck <tony.luck@intel.com>
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2b58d5c2db6828c18bfb412ed376b9b535cbf9d1
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Mon Apr 16 13:55:06 2018 -0500

    signal/ia64: Use the generic force_sigsegv in setup_frame
    
    [ Upstream commit 8b9c6b28312cc51a87055e292b11c5aa28f0c935 ]
    
    The ia64 handling of failure to setup a signal frame has been trying
    to set overlapping fields in struct siginfo since 2.3.43.  The si_pid
    and si_uid fields are stomped when the si_addr field is set.  The
    si_code of SI_KERNEL indicates that si_pid and si_uid should be valid,
    and that si_addr does not exist.
    
    Being at odds with the definition of SI_KERNEL and with nothing to
    indicate that this was a signal frame setup failure there is no way
    for userspace to know that si_addr was filled out instead.
    
    In practice failure to setup a signal frame is rare, and si_pid and
    si_uid are always set to 0 when si_code is SI_KERNEL so I expect no
    one has looked closely enough before to see this weirdness.  Further
    the only difference between force_sigsegv_info and the generic
    force_sigsegv other than the return code is that force_sigsegv_info
    stomps the si_uid and si_pid fields.
    
    Remove the bug and simplify the code by using force_sigsegv in this
    case just like other architectures.
    
    Fixes: 2.3.43
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: linux-ia64@vger.kernel.org
    Acked-by: Tony Luck <tony.luck@intel.com>
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 88ad6b6d8f9d45b4812ebaeca5454c767fdec76e
Author: John Garry <john.garry@huawei.com>
Date:   Sat Sep 22 01:25:26 2018 +0800

    drm/hisilicon: hibmc: Don't overwrite fb helper surface depth
    
    [ Upstream commit 0ff9f49646353ce31312411e7e7bd2281492a40e ]
    
    Currently the driver overwrites the surface depth provided by the fb
    helper to give an invalid bpp/surface depth combination.
    
    This has been exposed by commit 70109354fed2 ("drm: Reject unknown legacy
    bpp and depth for drm_mode_addfb ioctl"), which now causes the driver to
    fail to probe.
    
    Fix by not overwriting the surface depth.
    
    Fixes: d1667b86795a ("drm/hisilicon/hibmc: Add support for frame buffer")
    Signed-off-by: John Garry <john.garry@huawei.com>
    Reviewed-by: Xinliang Liu <z.liuxinliang@hisilicon.com>
    Signed-off-by: Xinliang Liu <z.liuxinliang@hisilicon.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 221569dfedd4b061046cf3a24d1fffc97d9be866
Author: Roopa Prabhu <roopa@cumulusnetworks.com>
Date:   Tue Sep 25 14:39:14 2018 -0700

    bridge: br_arp_nd_proxy: set icmp6_router if neigh has NTF_ROUTER
    
    [ Upstream commit 7aca011f88eb57be1b17b0216247f4e32ac54e29 ]
    
    Fixes: ed842faeb2bd ("bridge: suppress nd pkts on BR_NEIGH_SUPPRESS ports")
    Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9b6a0cd29f3b649116b91a28069cdb8b33886818
Author: Jitendra Bhivare <jitendra.bhivare@broadcom.com>
Date:   Tue Aug 28 10:22:58 2018 -0700

    PCI: iproc: Remove PAXC slot check to allow VF support
    
    [ Upstream commit 4da6b4480766e5bc9c4d7bc14bf1d0939a1a5fa7 ]
    
    Fix previous incorrect logic that limits PAXC slot number to zero only.
    In order for SRIOV/VF to work, we need to allow the slot number to be
    greater than zero.
    
    Fixes: 46560388c476c ("PCI: iproc: Allow multiple devices except on PAXC")
    Signed-off-by: Jitendra Bhivare <jitendra.bhivare@broadcom.com>
    Signed-off-by: Ray Jui <ray.jui@broadcom.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: Andy Gospodarek <gospo@broadcom.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 23e39ad3cac7b01dcbfe4da8f3347db076774373
Author: Stephen Boyd <swboyd@chromium.org>
Date:   Wed Aug 15 13:37:03 2018 -0700

    firmware: coreboot: Let OF core populate platform device
    
    [ Upstream commit 09ed061a4f56d50758851ca3997510f27115f81b ]
    
    Now that the /firmware/coreboot node in DT is populated by the core DT
    platform code with commit 3aa0582fdb82 ("of: platform: populate
    /firmware/ node from of_platform_default_populate_init()") we should and
    can remove the platform device creation here. Otherwise, the
    of_platform_device_create() call will fail, the coreboot of driver won't
    be registered, and this driver will never bind. At the same time, we
    should move this driver to use MODULE_DEVICE_TABLE so that module
    auto-load works properly when the coreboot device is auto-populated and
    we should drop the of_node handling that was presumably placed here to
    hold a reference to the DT node created during module init that no
    longer happens.
    
    Cc: Wei-Ning Huang <wnhuang@chromium.org>
    Cc: Julius Werner <jwerner@chromium.org>
    Reviewed-by: Brian Norris <briannorris@chromium.org>
    Cc: Samuel Holland <samuel@sholland.org>
    Reviewed-by: Sudeep Holla <Sudeep.Holla@arm.com>
    Fixes: 3aa0582fdb82 ("of: platform: populate /firmware/ node from of_platform_default_populate_init()")
    Signed-off-by: Stephen Boyd <swboyd@chromium.org>
    Reviewed-by: Julius Werner <jwerner@chromium.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ad285a59d5696b1a9d1b065a3392493b6262da2f
Author: Frank Rowand <frank.rowand@sony.com>
Date:   Thu Sep 6 21:44:48 2018 -0700

    ARM: qcom_defconfig: Enable MAILBOX
    
    [ Upstream commit 54c2678cd198f61555796bbda5e1727e6e1858f1 ]
    
    Problem:
    ab460a2e72da ("rpmsg: qcom_smd: Access APCS through mailbox framework"
    added a "depends on MAILBOX") to RPMSG_QCOM_SMD, thus RPMSG_QCOM_SMD
    becomes unset since MAILBOX was not enabled in qcom_defconfig and is
    not otherwise selected for the dragonboard.  When the resulting
    kernel is booted the mmc device which contains the root file system
    is not available.
    
    Fix:
    add CONFIG_MAILBOX to qcom_defconfig
    
    Fixes: ab460a2e72da ("rpmsg: qcom_smd: Access APCS through mailbox framework"
    added a "depends on MAILBOX")
    
    Signed-off-by: Frank Rowand <frank.rowand@sony.com>
    Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Andy Gross <andy.gross@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e58f543fc7c0926f31a49619c1a3648e49e8d233
Author: Jann Horn <jannh@google.com>
Date:   Thu Sep 13 18:12:09 2018 +0200

    apparmor: don't try to replace stale label in ptrace access check
    
    [ Upstream commit 1f8266ff58840d698a1e96d2274189de1bdf7969 ]
    
    As a comment above begin_current_label_crit_section() explains,
    begin_current_label_crit_section() must run in sleepable context because
    when label_is_stale() is true, aa_replace_current_label() runs, which uses
    prepare_creds(), which can sleep.
    Until now, the ptrace access check (which runs with a task lock held)
    violated this rule.
    
    Also add a might_sleep() assertion to begin_current_label_crit_section(),
    because asserts are less likely to be ignored than comments.
    
    Fixes: b2d09ae449ced ("apparmor: move ptrace checks to using labels")
    Signed-off-by: Jann Horn <jannh@google.com>
    Signed-off-by: John Johansen <john.johansen@canonical.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c4629743ed2ba592741825622b62dd1ca867ee0f
Author: Anders Roxell <anders.roxell@linaro.org>
Date:   Tue Sep 11 16:18:36 2018 +0200

    ALSA: hda: fix unused variable warning
    
    [ Upstream commit 5b03006d5c58ddd31caf542eef4d0269bcf265b3 ]
    
    When CONFIG_X86=n function azx_snoop doesn't use the variable chip it
    only returns true.
    
    sound/pci/hda/hda_intel.c: In function ‘dma_alloc_pages’:
    sound/pci/hda/hda_intel.c:2002:14: warning: unused variable ‘chip’ [-Wunused-variable]
      struct azx *chip = bus_to_azx(bus);
                  ^~~~
    
    Create a inline function of azx_snoop.
    
    Fixes: a41d122449be ("ALSA: hda - Embed bus into controller object")
    Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 451830a94b006df5c194768a84fb0a8716d9b2bd
Author: Tony Jones <tonyj@suse.de>
Date:   Thu Sep 6 21:33:57 2018 -0700

    apparmor: Fix network performance issue in aa_label_sk_perm
    
    [ Upstream commit 5f997580e8b12b9f585e34cc16304925d26ce49e ]
    
    The netperf benchmark shows a 5.73% reduction in throughput for
    small (64 byte) transfers by unconfined tasks.
    
    DEFINE_AUDIT_SK() in aa_label_sk_perm() should not be performed
    unconditionally, rather only when the label is confined.
    
    netperf-tcp
                                56974a6fc^              56974a6fc
    Min       64         563.48 (   0.00%)      531.17 (  -5.73%)
    Min       128       1056.92 (   0.00%)      999.44 (  -5.44%)
    Min       256       1945.95 (   0.00%)     1867.97 (  -4.01%)
    Min       1024      6761.40 (   0.00%)     6364.23 (  -5.87%)
    Min       2048     11110.53 (   0.00%)    10606.20 (  -4.54%)
    Min       3312     13692.67 (   0.00%)    13158.41 (  -3.90%)
    Min       4096     14926.29 (   0.00%)    14457.46 (  -3.14%)
    Min       8192     18399.34 (   0.00%)    18091.65 (  -1.67%)
    Min       16384    21384.13 (   0.00%)    21158.05 (  -1.06%)
    Hmean     64         564.96 (   0.00%)      534.38 (  -5.41%)
    Hmean     128       1064.42 (   0.00%)     1010.12 (  -5.10%)
    Hmean     256       1965.85 (   0.00%)     1879.16 (  -4.41%)
    Hmean     1024      6839.77 (   0.00%)     6478.70 (  -5.28%)
    Hmean     2048     11154.80 (   0.00%)    10671.13 (  -4.34%)
    Hmean     3312     13838.12 (   0.00%)    13249.01 (  -4.26%)
    Hmean     4096     15009.99 (   0.00%)    14561.36 (  -2.99%)
    Hmean     8192     18975.57 (   0.00%)    18326.54 (  -3.42%)
    Hmean     16384    21440.44 (   0.00%)    21324.59 (  -0.54%)
    Stddev    64           1.24 (   0.00%)        2.85 (-130.64%)
    Stddev    128          4.51 (   0.00%)        6.53 ( -44.84%)
    Stddev    256         11.67 (   0.00%)        8.50 (  27.16%)
    Stddev    1024        48.33 (   0.00%)       75.07 ( -55.34%)
    Stddev    2048        54.82 (   0.00%)       65.16 ( -18.86%)
    Stddev    3312       153.57 (   0.00%)       56.29 (  63.35%)
    Stddev    4096       100.25 (   0.00%)       88.50 (  11.72%)
    Stddev    8192       358.13 (   0.00%)      169.99 (  52.54%)
    Stddev    16384       43.99 (   0.00%)      141.82 (-222.39%)
    
    Signed-off-by: Tony Jones <tonyj@suse.de>
    Fixes: 56974a6fcfef ("apparmor: add base infastructure for socket
    mediation")
    Signed-off-by: John Johansen <john.johansen@canonical.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a9375dc8ce0607e102a91f124c15e842ad2b8832
Author: Eugen Hristev <eugen.hristev@microchip.com>
Date:   Tue Aug 28 13:30:34 2018 +0300

    iio: fix position relative kernel version
    
    [ Upstream commit 21eab7861688aa4c69fcb88440cc0c4a422bdcd6 ]
    
    Position relative channel type was added in 4.19 kernel version
    
    Fixes: "3055a6cfa04ba" ("iio: Add channel for Position Relative")
    Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 043bf2daf5a4b791713a7aa43b74ab7ff6ba8789
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Jul 4 12:42:50 2018 +0300

    drm/virtio: fix bounds check in virtio_gpu_cmd_get_capset()
    
    [ Upstream commit 09c4b49457434fa74749ad6194ef28464d9f5df9 ]
    
    This doesn't affect runtime because in the current code "idx" is always
    valid.
    
    First, we read from "vgdev->capsets[idx].max_size" before checking
    whether "idx" is within bounds.  And secondly the bounds check is off by
    one so we could end up reading one element beyond the end of the
    vgdev->capsets[] array.
    
    Fixes: 62fb7a5e1096 ("virtio-gpu: add 3d/virgl support")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/20180704094250.m7sgvvzg3dhcvv3h@kili.mountain
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cdb273fd8cd4ff99b4c2e0411fe6c705c7cbed62
Author: Shannon Nelson <shannon.nelson@oracle.com>
Date:   Fri Aug 10 12:24:10 2018 -0700

    ixgbe: don't clear IPsec sa counters on HW clearing
    
    [ Upstream commit 9e3f2f5ecee69b0f70003fb3e07639151e91de73 ]
    
    The software SA record counters should not be cleared when clearing
    the hardware tables.  This causes the counters to be out of sync
    after a driver reset.
    
    Fixes: 63a67fe229ea ("ixgbe: add ipsec offload add and remove SA")
    Signed-off-by: Shannon Nelson <shannon.nelson@oracle.com>
    Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 45f2aa92042a53547a7e391014ef8e3d451374bc
Author: Peter Rosin <peda@axentia.se>
Date:   Tue Aug 28 11:48:41 2018 +0200

    ARM: dts: at91: nattis: make the SD-card slot work
    
    [ Upstream commit f52eb2067929d533babe106fbc131c88db3eff3d ]
    
    The cd-gpios signal is assumed active-low by the driver, and the
    cd-inverted property is needed if it is, in fact, active-high. Fix
    this oversight.
    
    Fixes: 0e4323899973 ("ARM: dts: at91: add devicetree for the Axentia Nattis with Natte power")
    Signed-off-by: Peter Rosin <peda@axentia.se>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ae2069898adec1eefb0e3601247d4c3a3264495f
Author: Peter Rosin <peda@axentia.se>
Date:   Tue Aug 28 11:48:40 2018 +0200

    ARM: dts: at91: nattis: set the PRLUD and HIPOW signals low
    
    [ Upstream commit 29feb2c960ab32fc24249443d4434194ce96f083 ]
    
    AT91_PINCTRL_OUTPUT_VAL(0) without AT91_PINCTRL_OUTPUT is a no-op, so
    make sure the pins really output a zero.
    
    Fixes: 0e4323899973 ("ARM: dts: at91: add devicetree for the Axentia Nattis with Natte power")
    Signed-off-by: Peter Rosin <peda@axentia.se>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f7c57332c0aba08b3e12b63ce9db61f396e49ba5
Author: Peter Rosin <peda@axentia.se>
Date:   Mon Aug 6 08:19:09 2018 +0200

    drm/sti: do not remove the drm_bridge that was never added
    
    [ Upstream commit 66e31a72dc38543b2d9d1ce267dc78ba9beebcfd ]
    
    Removing the drm_bridge_remove call should avoid a NULL dereference
    during list processing in drm_bridge_remove if the error path is ever
    taken.
    
    The more natural approach would perhaps be to add a drm_bridge_add,
    but there are several other bridges that never call drm_bridge_add.
    Just removing the drm_bridge_remove is the easier fix.
    
    Fixes: 84601dbdea36 ("drm: sti: rework init sequence")
    Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Peter Rosin <peda@axentia.se>
    Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180806061910.29914-2-peda@axentia.se
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 211eabc55d07fc3709e967b08b6f5bb77198dbd0
Author: Navid Emamdoost <navid.emamdoost@gmail.com>
Date:   Mon Oct 21 15:06:48 2019 -0500

    ipmi: Fix memory leak in __ipmi_bmc_register
    
    commit 4aa7afb0ee20a97fbf0c5bab3df028d5fb85fdab upstream.
    
    In the impelementation of __ipmi_bmc_register() the allocated memory for
    bmc should be released in case ida_simple_get() fails.
    
    Fixes: 68e7e50f195f ("ipmi: Don't use BMC product/dev ids in the BMC name")
    Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
    Message-Id: <20191021200649.1511-1-navid.emamdoost@gmail.com>
    Signed-off-by: Corey Minyard <cminyard@mvista.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 42616f4f04e700624cfd084d806fb26a3652d2c3
Author: Shuiqing Li <shuiqing.li@unisoc.com>
Date:   Fri Nov 8 18:57:12 2019 +0800

    watchdog: sprd: Fix the incorrect pointer getting from driver data
    
    commit 39e68d9e7ab276880980ee5386301fb218202192 upstream.
    
    The device driver data saved the 'struct sprd_wdt' object, it is
    incorrect to get 'struct watchdog_device' object from the driver
    data, thus fix it.
    
    Fixes: 477603467009 ("watchdog: Add Spreadtrum watchdog driver")
    Reported-by: Dongwei Wang <dongwei.wang@unisoc.com>
    Signed-off-by: Shuiqing Li <shuiqing.li@unisoc.com>
    Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Link: https://lore.kernel.org/r/76d4687189ec940baa90cb8d679a8d4c8f02ee80.1573210405.git.baolin.wang@linaro.org
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 583bee046026a56219706fbe3693eb9ca14c5c39
Author: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Date:   Thu Nov 21 15:48:51 2019 +1030

    soc: aspeed: Fix snoop_file_poll()'s return type
    
    commit a4e55ccd4392e70f296d12e81b93c6ca96ee21d5 upstream.
    
    snoop_file_poll() is defined as returning 'unsigned int' but the
    .poll method is declared as returning '__poll_t', a bitwise type.
    
    Fix this by using the proper return type and using the EPOLL
    constants instead of the POLL ones, as required for __poll_t.
    
    Link: https://lore.kernel.org/r/20191121051851.268726-1-joel@jms.id.au
    Fixes: 3772e5da4454 ("drivers/misc: Aspeed LPC snoop output using misc chardev")
    Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
    Reviewed-by: Joel Stanley <joel@jms.id.au>
    Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
    Signed-off-by: Joel Stanley <joel@jms.id.au>
    Signed-off-by: Olof Johansson <olof@lixom.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cc8401ea2882c8f01ceafb730da32439348fe68a
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Thu Nov 14 10:46:45 2019 -0300

    perf map: No need to adjust the long name of modules
    
    commit f068435d9bb2d825d59e3c101bc579f09315ee01 upstream.
    
    At some point in the past we needed to make sure we would get the long
    name of modules and not just what we get from /proc/modules, but that
    need, as described in the cset that introduced the adjustment function:
    
    Fixes: c03d5184f0e9 ("perf machine: Adjust dso->long_name for offline module")
    
    Without using the buildid-cache:
    
      # lsmod | grep trusted
      # insmod trusted.ko
      # lsmod | grep trusted
      trusted                24576  0
      # strace -e open,openat perf probe -m ./trusted.ko key_seal |& grep trusted
      openat(AT_FDCWD, "/sys/module/trusted/notes/.note.gnu.build-id", O_RDONLY) = 4
      openat(AT_FDCWD, "/sys/module/trusted/notes/.note.gnu.build-id", O_RDONLY) = 7
      openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
      openat(AT_FDCWD, "/root/.debug/root/trusted.ko/dd3d355d567394d540f527e093e0f64b95879584/probes", O_RDWR|O_CREAT, 0644) = 3
      openat(AT_FDCWD, "/usr/lib/debug/root/trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "/usr/lib/debug/root/trusted.ko", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "/root/.debug/trusted.ko", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
      openat(AT_FDCWD, "trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, ".debug/trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
      openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
      openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 4
      openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
        probe:key_seal       (on key_seal in trusted)
      # perf probe -l
        probe:key_seal       (on key_seal in trusted)
      #
    
    No attempt at opening '[trusted]'.
    
    Now using the build-id cache:
    
      # rmmod trusted
      # perf buildid-cache --add ./trusted.ko
      # insmod trusted.ko
      # strace -e open,openat perf probe -m ./trusted.ko key_seal |& grep trusted
      openat(AT_FDCWD, "/sys/module/trusted/notes/.note.gnu.build-id", O_RDONLY) = 4
      openat(AT_FDCWD, "/sys/module/trusted/notes/.note.gnu.build-id", O_RDONLY) = 7
      openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
      openat(AT_FDCWD, "/root/.debug/root/trusted.ko/dd3d355d567394d540f527e093e0f64b95879584/probes", O_RDWR|O_CREAT, 0644) = 3
      openat(AT_FDCWD, "/usr/lib/debug/root/trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "/usr/lib/debug/root/trusted.ko", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "/root/.debug/trusted.ko", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
      openat(AT_FDCWD, "trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, ".debug/trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "trusted.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
      openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
      openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 4
      openat(AT_FDCWD, "/root/trusted.ko", O_RDONLY) = 3
      #
    
    Again, no attempt at reading '[trusted]'.
    
    Finally, adding a probe to that function and then using:
    
    [root@quaco ~]# perf trace -e probe_perf:*/max-stack=16/ --max-events=2
         0.000 perf/13456 probe_perf:dso__adjust_kmod_long_name(__probe_ip: 5492263)
                                           dso__adjust_kmod_long_name (/home/acme/bin/perf)
                                           machine__process_kernel_mmap_event (/home/acme/bin/perf)
                                           machine__process_mmap_event (/home/acme/bin/perf)
                                           perf_event__process_mmap (/home/acme/bin/perf)
                                           machines__deliver_event (/home/acme/bin/perf)
                                           perf_session__deliver_event (/home/acme/bin/perf)
                                           perf_session__process_event (/home/acme/bin/perf)
                                           process_simple (/home/acme/bin/perf)
                                           reader__process_events (/home/acme/bin/perf)
                                           __perf_session__process_events (/home/acme/bin/perf)
                                           perf_session__process_events (/home/acme/bin/perf)
                                           process_buildids (/home/acme/bin/perf)
                                           record__finish_output (/home/acme/bin/perf)
                                           __cmd_record (/home/acme/bin/perf)
                                           cmd_record (/home/acme/bin/perf)
                                           run_builtin (/home/acme/bin/perf)
         0.055 perf/13456 probe_perf:dso__adjust_kmod_long_name(__probe_ip: 5492263)
                                           dso__adjust_kmod_long_name (/home/acme/bin/perf)
                                           machine__process_kernel_mmap_event (/home/acme/bin/perf)
                                           machine__process_mmap_event (/home/acme/bin/perf)
                                           perf_event__process_mmap (/home/acme/bin/perf)
                                           machines__deliver_event (/home/acme/bin/perf)
                                           perf_session__deliver_event (/home/acme/bin/perf)
                                           perf_session__process_event (/home/acme/bin/perf)
                                           process_simple (/home/acme/bin/perf)
                                           reader__process_events (/home/acme/bin/perf)
                                           __perf_session__process_events (/home/acme/bin/perf)
                                           perf_session__process_events (/home/acme/bin/perf)
                                           process_buildids (/home/acme/bin/perf)
                                           record__finish_output (/home/acme/bin/perf)
                                           __cmd_record (/home/acme/bin/perf)
                                           cmd_record (/home/acme/bin/perf)
                                           run_builtin (/home/acme/bin/perf)
      #
    
    This was the only path I could find using the perf tools that reach at this
    function, then as of november/2019, if we put a probe in the line where the
    actuall setting of the dso->long_name is done:
    
      # perf trace -e probe_perf:*
      ^C[root@quaco ~]
      # perf stat -e probe_perf:*  -I 2000
           2.000404265                  0      probe_perf:dso__adjust_kmod_long_name
           4.001142200                  0      probe_perf:dso__adjust_kmod_long_name
           6.001704120                  0      probe_perf:dso__adjust_kmod_long_name
           8.002398316                  0      probe_perf:dso__adjust_kmod_long_name
          10.002984010                  0      probe_perf:dso__adjust_kmod_long_name
          12.003597851                  0      probe_perf:dso__adjust_kmod_long_name
          14.004113303                  0      probe_perf:dso__adjust_kmod_long_name
          16.004582773                  0      probe_perf:dso__adjust_kmod_long_name
          18.005176373                  0      probe_perf:dso__adjust_kmod_long_name
          20.005801605                  0      probe_perf:dso__adjust_kmod_long_name
          22.006467540                  0      probe_perf:dso__adjust_kmod_long_name
      ^C    23.683261941                  0      probe_perf:dso__adjust_kmod_long_name
    
      #
    
    Its not being used at all.
    
    To further test this I used kvm.ko as the offline module, i.e. removed
    if from the buildid-cache by nuking it completely (rm -rf ~/.debug) and
    moved it from the normal kernel distro path, removed the modules, stoped
    the kvm guest, and then installed it manually, etc.
    
      # rmmod kvm-intel
      # rmmod kvm
      # lsmod | grep kvm
      # modprobe kvm-intel
      modprobe: ERROR: ctx=0x55d3b1722260 path=/lib/modules/5.3.8-200.fc30.x86_64/kernel/arch/x86/kvm/kvm.ko.xz error=No such file or directory
      modprobe: ERROR: ctx=0x55d3b1722260 path=/lib/modules/5.3.8-200.fc30.x86_64/kernel/arch/x86/kvm/kvm.ko.xz error=No such file or directory
      modprobe: ERROR: could not insert 'kvm_intel': Unknown symbol in module, or unknown parameter (see dmesg)
      # insmod ./kvm.ko
      # modprobe kvm-intel
      modprobe: ERROR: ctx=0x562f34026260 path=/lib/modules/5.3.8-200.fc30.x86_64/kernel/arch/x86/kvm/kvm.ko.xz error=No such file or directory
      modprobe: ERROR: ctx=0x562f34026260 path=/lib/modules/5.3.8-200.fc30.x86_64/kernel/arch/x86/kvm/kvm.ko.xz error=No such file or directory
      # lsmod | grep kvm
      kvm_intel             299008  0
      kvm                   765952  1 kvm_intel
      irqbypass              16384  1 kvm
      #
      # perf probe -x ~/bin/perf machine__findnew_module_map:12 mname=m.name:string filename=filename:string 'dso_long_name=map->dso->long_name:string' 'dso_name=map->dso->name:string'
      # perf probe -l
        probe_perf:machine__findnew_module_map (on machine__findnew_module_map:12@util/machine.c in /home/acme/bin/perf with mname filename dso_long_name dso_name)
      # perf record
      ^C[ perf record: Woken up 2 times to write data ]
      [ perf record: Captured and wrote 3.416 MB perf.data (33956 samples) ]
      # perf trace -e probe_perf:machine*
      <SNIP>
           6.322 perf/23099 probe_perf:machine__findnew_module_map(__probe_ip: 5492493, mname: "[salsa20_generic]", filename: "/lib/modules/5.3.8-200.fc30.x86_64/kernel/crypto/salsa20_generic.ko.xz", dso_long_name: "/lib/modules/5.3.8-200.fc30.x86_64/kernel/crypto/salsa20_generic.ko.xz", dso_name: "[salsa20_generic]")
           6.375 perf/23099 probe_perf:machine__findnew_module_map(__probe_ip: 5492493, mname: "[kvm]", filename: "[kvm]", dso_long_name: "[kvm]", dso_name: "[kvm]")
      <SNIP>
    
    The filename doesn't come with the path, no point in trying to set the dso->long_name.
    
      [root@quaco ~]# strace -e open,openat perf probe -m ./kvm.ko kvm_apic_local_deliver |& egrep 'open.*kvm'
      openat(AT_FDCWD, "/sys/module/kvm_intel/notes/.note.gnu.build-id", O_RDONLY) = 4
      openat(AT_FDCWD, "/sys/module/kvm/notes/.note.gnu.build-id", O_RDONLY) = 4
      openat(AT_FDCWD, "/lib/modules/5.3.8-200.fc30.x86_64/kernel/arch/x86/kvm", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 7
      openat(AT_FDCWD, "/sys/module/kvm_intel/notes/.note.gnu.build-id", O_RDONLY) = 8
      openat(AT_FDCWD, "/root/kvm.ko", O_RDONLY) = 3
      openat(AT_FDCWD, "/root/.debug/root/kvm.ko/5955f426cb93f03f30f3e876814be2db80ab0b55/probes", O_RDWR|O_CREAT, 0644) = 3
      openat(AT_FDCWD, "/usr/lib/debug/root/kvm.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "/usr/lib/debug/root/kvm.ko", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "/root/.debug/kvm.ko", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "/root/kvm.ko", O_RDONLY) = 3
      openat(AT_FDCWD, "kvm.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, ".debug/kvm.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "kvm.ko.debug", O_RDONLY) = -1 ENOENT (No such file or directory)
      openat(AT_FDCWD, "/root/kvm.ko", O_RDONLY) = 3
      openat(AT_FDCWD, "/root/kvm.ko", O_RDONLY) = 3
      openat(AT_FDCWD, "/root/kvm.ko", O_RDONLY) = 4
      openat(AT_FDCWD, "/root/kvm.ko", O_RDONLY) = 3
      [root@quaco ~]#
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: https://lkml.kernel.org/n/tip-jlfew3lyb24d58egrp0o72o2@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5040823acc596e8d456d0a713a4f80694fb61014
Author: Corentin Labbe <clabbe.montjoie@gmail.com>
Date:   Thu Nov 14 13:58:49 2019 +0100

    crypto: sun4i-ss - fix big endian issues
    
    commit d1d787bcebfe122a5bd443ae565696661e2e9656 upstream.
    
    When testing BigEndian kernel, the sun4i-ss was failling all crypto
    tests.
    This patch fix endian issues with it.
    
    Fixes: 6298e948215f ("crypto: sunxi-ss - Add Allwinner Security System crypto accelerator")
    Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 496ce0ee6f770961316a81b3e2c06b7de8213840
Author: Lorenzo Bianconi <lorenzo@kernel.org>
Date:   Sat Sep 21 10:44:01 2019 +0200

    mt7601u: fix bbp version check in mt7601u_wait_bbp_ready
    
    commit 15e14f76f85f4f0eab3b8146e1cd3c58ce272823 upstream.
    
    Fix bbp ready check in mt7601u_wait_bbp_ready. The issue is reported by
    coverity with the following error:
    
    Logical vs. bitwise operator
    The expression's value does not depend on the operands; inadvertent use
    of the wrong operator is a likely logic error.
    
    Addresses-Coverity-ID: 1309441 ("Logical vs. bitwise operator")
    Fixes: c869f77d6abb ("add mt7601u driver")
    Acked-by: Jakub Kicinski <kubakici@wp.pl>
    Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b8f60290aecef29c9e96cdfeaa5de7835ec12af6
Author: Tung Nguyen <tung.q.nguyen@dektech.com.au>
Date:   Thu Nov 28 10:10:07 2019 +0700

    tipc: fix wrong timeout input for tipc_wait_for_cond()
    
    commit 12db3c8083fcab4270866a88191933f2d9f24f89 upstream.
    
    In function __tipc_shutdown(), the timeout value passed to
    tipc_wait_for_cond() is not jiffies.
    
    This commit fixes it by converting that value from milliseconds
    to jiffies.
    
    Fixes: 365ad353c256 ("tipc: reduce risk of user starvation during link congestion")
    Signed-off-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
    Acked-by: Jon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 295c9b554f6dfcd2d368fae6e6fa22ee5b79c123
Author: Hoang Le <hoang.h.le@dektech.com.au>
Date:   Tue Nov 12 07:40:04 2019 +0700

    tipc: update mon's self addr when node addr generated
    
    commit 46cb01eeeb86fca6afe24dda1167b0cb95424e29 upstream.
    
    In commit 25b0b9c4e835 ("tipc: handle collisions of 32-bit node address
    hash values"), the 32-bit node address only generated after one second
    trial period expired. However the self's addr in struct tipc_monitor do
    not update according to node address generated. This lead to it is
    always zero as initial value. As result, sorting algorithm using this
    value does not work as expected, neither neighbor monitoring framework.
    
    In this commit, we add a fix to update self's addr when 32-bit node
    address generated.
    
    Fixes: 25b0b9c4e835 ("tipc: handle collisions of 32-bit node address hash values")
    Acked-by: Jon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d3c004899ebc7cbd643f66f537aa653faf64869b
Author: Ard Biesheuvel <ardb@kernel.org>
Date:   Wed Dec 4 11:50:15 2019 +0000

    powerpc/archrandom: fix arch_get_random_seed_int()
    
    commit b6afd1234cf93aa0d71b4be4788c47534905f0be upstream.
    
    Commit 01c9348c7620ec65
    
      powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_*
    
    updated arch_get_random_[int|long]() to be NOPs, and moved the hardware
    RNG backing to arch_get_random_seed_[int|long]() instead. However, it
    failed to take into account that arch_get_random_int() was implemented
    in terms of arch_get_random_long(), and so we ended up with a version
    of the former that is essentially a NOP as well.
    
    Fix this by calling arch_get_random_seed_long() from
    arch_get_random_seed_int() instead.
    
    Fixes: 01c9348c7620ec65 ("powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_*")
    Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20191204115015.18015-1-ardb@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 648e2a48f3096412d50ecb7d6f28be59d3ed999a
Author: Tyrel Datwyler <tyreld@linux.ibm.com>
Date:   Sun Nov 10 23:21:37 2019 -0600

    powerpc/pseries: Enable support for ibm,drc-info property
    
    commit 0a87ccd3699983645f54cafd2258514a716b20b8 upstream.
    
    Advertise client support for the PAPR architected ibm,drc-info device
    tree property during CAS handshake.
    
    Fixes: c7a3275e0f9e ("powerpc/pseries: Revert support for ibm,drc-info devtree property")
    Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/1573449697-5448-11-git-send-email-tyreld@linux.ibm.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 66ed7b413d31c6ff23901ac4443b1cc1af2f6113
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Thu Oct 24 09:34:16 2019 -0400

    SUNRPC: Fix svcauth_gss_proxy_init()
    
    commit 5866efa8cbfbadf3905072798e96652faf02dbe8 upstream.
    
    gss_read_proxy_verf() assumes things about the XDR buffer containing
    the RPC Call that are not true for buffers generated by
    svc_rdma_recv().
    
    RDMA's buffers look more like what the upper layer generates for
    sending: head is a kmalloc'd buffer; it does not point to a page
    whose contents are contiguous with the first page in the buffers'
    page array. The result is that ACCEPT_SEC_CONTEXT via RPC/RDMA has
    stopped working on Linux NFS servers that use gssproxy.
    
    This does not affect clients that use only TCP to send their
    ACCEPT_SEC_CONTEXT operation (that's all Linux clients). Other
    clients, like Solaris NFS clients, send ACCEPT_SEC_CONTEXT on the
    same transport as they send all other NFS operations. Such clients
    can send ACCEPT_SEC_CONTEXT via RPC/RDMA.
    
    I thought I had found every direct reference in the server RPC code
    to the rqstp->rq_pages field.
    
    Bug found at the 2019 Westford NFS bake-a-thon.
    
    Fixes: 3316f0631139 ("svcrdma: Persistently allocate and DMA- ... ")
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Tested-by: Bill Baker <bill.baker@oracle.com>
    Reviewed-by: Simo Sorce <simo@redhat.com>
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1b04674753fdc1deb911c35dea96d686ceab75e4
Author: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Date:   Wed Sep 4 08:56:25 2019 +0300

    mfd: intel-lpss: Add default I2C device properties for Gemini Lake
    
    commit 3f31bc67e4dc6a555341dffefe328ddd58e8b431 upstream.
    
    It turned out Intel Gemini Lake doesn't use the same I2C timing
    parameters as Broxton.
    
    I got confirmation from the Windows team that Gemini Lake systems should
    use updated timing parameters that differ from those used in Broxton
    based systems.
    
    Fixes: f80e78aa11ad ("mfd: intel-lpss: Add Intel Gemini Lake PCI IDs")
    Tested-by: Chris Chiu <chiu@endlessm.com>
    Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1dff703437530861c932b5c46eb8d6c1a5bb684d
Author: Alain Volmat <alain.volmat@st.com>
Date:   Tue Nov 12 09:19:44 2019 +0100

    i2c: i2c-stm32f7: fix 10-bits check in slave free id search loop
    
    commit 7787657d7ee55a9ecf4aea4907b46b87a44eda67 upstream.
    
    Fix a typo in the free slave id search loop. Instead of I2C_CLIENT_PEC,
    it should have been I2C_CLIENT_TEN. The slave id 1 can only handle 7-bit
    addresses and thus is not eligible in case of 10-bit addresses.
    As a matter of fact none of the slave id support I2C_CLIENT_PEC, overall
    check is performed at the beginning of the stm32f7_i2c_reg_slave function.
    
    Fixes: 60d609f30de2 ("i2c: i2c-stm32f7: Add slave support")
    Signed-off-by: Alain Volmat <alain.volmat@st.com>
    Reviewed-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6cded58a443718aa8a2668386b5fa22d1eb6e029
Author: Alain Volmat <alain.volmat@st.com>
Date:   Tue Oct 15 15:03:09 2019 +0200

    i2c: stm32f7: rework slave_id allocation
    
    commit 52d3be711e065a97a57c2f2ffba3098748855bd6 upstream.
    
    The IP can handle two slave addresses. One address can either be
    7 bits or 10 bits while the other can only be 7 bits.
    In order to ensure that a 10 bits address can always be allocated
    (assuming there is only one 7 bits address already allocated),
    pick up the 7-bits only address slot in priority when performing a 7-bits
    address allocation.
    
    Fixes: 60d609f30de2 ("i2c: i2c-stm32f7: Add slave support")
    Signed-off-by: Alain Volmat <alain.volmat@st.com>
    Reviewed-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2708c4cd3af776ae52dcbf51e6eb59634b01d137
Author: Jan Kara <jack@suse.cz>
Date:   Wed Oct 23 17:00:45 2019 -0700

    xfs: Sanity check flags of Q_XQUOTARM call
    
    commit 3dd4d40b420846dd35869ccc8f8627feef2cff32 upstream.
    
    Flags passed to Q_XQUOTARM were not sanity checked for invalid values.
    Fix that.
    
    Fixes: 9da93f9b7cdf ("xfs: fix Q_XQUOTARM ioctl")
    Reported-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Reviewed-by: Eric Sandeen <sandeen@redhat.com>
    Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0a19f053484ec66454f39ead0e77235541343a01
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Thu Jan 23 10:47:03 2020 +0100

    Revert "efi: Fix debugobjects warning on 'efi_rts_work'"
    
    This reverts commit 3e6b472f474accf757e107919f8ee42e7315ac0d which is
    commit ef1491e791308317bb9851a0ad380c4a68b58d54 upstream.
    
    Chris reports that this commit has problems and should not have been
    backported to 4.19.y
    
    Reported-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Waiman Long <longman@redhat.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-efi@vger.kernel.org
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Sasha Levin <sashal@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>