commit f015b86259a520ad886523d9ec6fdb0ed80edc38
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Sun May 10 10:31:34 2020 +0200

    Linux 5.4.40

commit 2852b559afdfe9f29ec36a73b4410440aa749caa
Author: Marek Szyprowski <m.szyprowski@samsung.com>
Date:   Tue Nov 12 11:47:34 2019 +0100

    PM / devfreq: Add missing locking while setting suspend_freq
    
    commit e1e047ace8cef6d143f38c7d769753f133becbe6 upstream.
    
    Commit 2abb0d5268ae ("PM / devfreq: Lock devfreq in trans_stat_show")
    revealed a missing locking while calling devfreq_update_status() function
    during suspend/resume cycle.
    
    Code analysis revealed that devfreq_set_target() function was called
    without needed locks held for setting device specific suspend_freq if such
    has been defined. This patch fixes that by adding the needed locking, what
    fixes following kernel warning on Exynos4412-based OdroidU3 board during
    system suspend:
    
    PM: suspend entry (deep)
    Filesystems sync: 0.002 seconds
    Freezing user space processes ... (elapsed 0.001 seconds) done.
    OOM killer disabled.
    Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
    ------------[ cut here ]------------
    WARNING: CPU: 2 PID: 1385 at drivers/devfreq/devfreq.c:204 devfreq_update_status+0xc0/0x188
    Modules linked in:
    CPU: 2 PID: 1385 Comm: rtcwake Not tainted 5.4.0-rc6-next-20191111 #6848
    Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
    [<c0112588>] (unwind_backtrace) from [<c010e070>] (show_stack+0x10/0x14)
    [<c010e070>] (show_stack) from [<c0afb010>] (dump_stack+0xb4/0xe0)
    [<c0afb010>] (dump_stack) from [<c01272e0>] (__warn+0xf4/0x10c)
    [<c01272e0>] (__warn) from [<c01273a8>] (warn_slowpath_fmt+0xb0/0xb8)
    [<c01273a8>] (warn_slowpath_fmt) from [<c07d105c>] (devfreq_update_status+0xc0/0x188)
    [<c07d105c>] (devfreq_update_status) from [<c07d2d70>] (devfreq_set_target+0xb0/0x15c)
    [<c07d2d70>] (devfreq_set_target) from [<c07d3598>] (devfreq_suspend+0x2c/0x64)
    [<c07d3598>] (devfreq_suspend) from [<c05de0b0>] (dpm_suspend+0xa4/0x57c)
    [<c05de0b0>] (dpm_suspend) from [<c05def74>] (dpm_suspend_start+0x98/0xa0)
    [<c05def74>] (dpm_suspend_start) from [<c0195b58>] (suspend_devices_and_enter+0xec/0xc74)
    [<c0195b58>] (suspend_devices_and_enter) from [<c0196a20>] (pm_suspend+0x340/0x410)
    [<c0196a20>] (pm_suspend) from [<c019480c>] (state_store+0x6c/0xc8)
    [<c019480c>] (state_store) from [<c033fc50>] (kernfs_fop_write+0x10c/0x228)
    [<c033fc50>] (kernfs_fop_write) from [<c02a6d3c>] (__vfs_write+0x30/0x1d0)
    [<c02a6d3c>] (__vfs_write) from [<c02a9afc>] (vfs_write+0xa4/0x180)
    [<c02a9afc>] (vfs_write) from [<c02a9d58>] (ksys_write+0x60/0xd8)
    [<c02a9d58>] (ksys_write) from [<c0101000>] (ret_fast_syscall+0x0/0x28)
    Exception stack(0xed3d7fa8 to 0xed3d7ff0)
    ...
    irq event stamp: 9667
    hardirqs last  enabled at (9679): [<c0b1e7c4>] _raw_spin_unlock_irq+0x20/0x58
    hardirqs last disabled at (9698): [<c0b16a20>] __schedule+0xd8/0x818
    softirqs last  enabled at (9694): [<c01026fc>] __do_softirq+0x4fc/0x5fc
    softirqs last disabled at (9719): [<c012fe68>] irq_exit+0x16c/0x170
    ---[ end trace 41ac5b57d046bdbc ]---
    ------------[ cut here ]------------
    
    Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
    Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8e054bd6dfc4e87a71c27f038e4b75dfc0851492
Author: Willem de Bruijn <willemb@google.com>
Date:   Wed Jan 29 15:20:17 2020 -0500

    udp: document udp_rcv_segment special case for looped packets
    
    commit d0208bf4da97f76237300afb83c097de25645de6 upstream.
    
    Commit 6cd021a58c18a ("udp: segment looped gso packets correctly")
    fixes an issue with rare udp gso multicast packets looped onto the
    receive path.
    
    The stable backport makes the narrowest change to target only these
    packets, when needed. As opposed to, say, expanding __udp_gso_segment,
    which is harder to reason to be free from unintended side-effects.
    
    But the resulting code is hardly self-describing.
    Document its purpose and rationale.
    
    Signed-off-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2a03c23b2015c6834becd41037e7286e62d5cd17
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Tue Feb 11 15:19:42 2020 -0300

    tools headers UAPI: Sync copy of arm64's asm/unistd.h with the kernel sources
    
    commit c75bec79fc080039e4575a0f239ea7b111aabe88 upstream.
    
    To get the changes in:
    
      3e3c8ca5a351 ("arm64: Move __ARCH_WANT_SYS_CLONE3 definition to uapi headers")
    
    Silencing this tools/perf/ build warning:
    
      Warning: Kernel ABI header at 'tools/arch/arm64/include/uapi/asm/unistd.h' differs from latest version at 'arch/arm64/include/uapi/asm/unistd.h'
      diff -u tools/arch/arm64/include/uapi/asm/unistd.h arch/arm64/include/uapi/asm/unistd.h
    
    Which will probably end up enabling the use of "clone3" in 'perf trace -e',
    haven't checked the build with this change on an arm64 system.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Amanieu d'Antras <amanieu@gmail.com>
    Cc: Christian Brauner <christian.brauner@ubuntu.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f11664da13b9e9726442cb0e42f848a1d23aab7a
Author: Zhan Liu <Zhan.Liu@amd.com>
Date:   Mon Nov 4 15:46:56 2019 -0400

    Revert "drm/amd/display: setting the DIG_MODE to the correct value."
    
    commit b73b7f48895a6a944a76a2d8cdd7feee72bb1f0b upstream.
    
    This reverts commit 967a3b85bac91c55eff740e61bf270c2732f48b2.
    
    Reason for revert: Root cause of this issue is found. The workaround is not needed anymore.
    
    Signed-off-by: Zhan Liu <zhan.liu@amd.com>
    Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c365ff7815401e376fced9c42716488d74dc84d5
Author: Will Deacon <will@kernel.org>
Date:   Wed Mar 25 11:13:46 2020 +0000

    mm/mremap: Add comment explaining the untagging behaviour of mremap()
    
    commit b2a84de2a2deb76a6a51609845341f508c518c03 upstream.
    
    Commit dcde237319e6 ("mm: Avoid creating virtual address aliases in
    brk()/mmap()/mremap()") changed mremap() so that only the 'old' address
    is untagged, leaving the 'new' address in the form it was passed from
    userspace. This prevents the unexpected creation of aliasing virtual
    mappings in userspace, but looks a bit odd when you read the code.
    
    Add a comment justifying the untagging behaviour in mremap().
    
    Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
    Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
    Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Will Deacon <will@kernel.org>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8f30c3687f0991157b30e462c9c2f8f5244d5f5d
Author: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Date:   Fri Dec 13 07:11:14 2019 -0300

    libbpf: Fix readelf output parsing for Fedora
    
    commit aa915931ac3e53ccf371308e6750da510e3591dd upstream.
    
    Fedora binutils has been patched to show "other info" for a symbol at the
    end of the line. This was done in order to support unmaintained scripts
    that would break with the extra info. [1]
    
    [1] https://src.fedoraproject.org/rpms/binutils/c/b8265c46f7ddae23a792ee8306fbaaeacba83bf8
    
    This in turn has been done to fix the build of ruby, because of checksec.
    [2] Thanks Michael Ellerman for the pointer.
    
    [2] https://bugzilla.redhat.com/show_bug.cgi?id=1479302
    
    As libbpf Makefile is not unmaintained, we can simply deal with either
    output format, by just removing the "other info" field, as it always comes
    inside brackets.
    
    Fixes: 3464afdf11f9 (libbpf: Fix readelf output parsing on powerpc with recent binutils)
    Reported-by: Justin Forbes <jmforbes@linuxtx.org>
    Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Acked-by: Andrii Nakryiko <andriin@fb.com>
    Cc: Aurelien Jarno <aurelien@aurel32.net>
    Link: https://lore.kernel.org/bpf/20191213101114.GA3986@calabresa
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 88348bd1f696325b84dd090099e8ef60e50177d2
Author: Jiri Slaby <jslaby@suse.cz>
Date:   Mon Apr 20 09:04:24 2020 +0200

    cgroup, netclassid: remove double cond_resched
    
    commit 526f3d96b8f83b1b13d73bd0b5c79cc2c487ec8e upstream.
    
    Commit 018d26fcd12a ("cgroup, netclassid: periodically release file_lock
    on classid") added a second cond_resched to write_classid indirectly by
    update_classid_task. Remove the one in write_classid.
    
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    Cc: Dmitry Yakunin <zeil@yandex-team.ru>
    Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
    Cc: David S. Miller <davem@davemloft.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 702d710ffd8300eed00cc3f16e3b30adfd1abd94
Author: Thomas Pedersen <thomas@adapt-ip.com>
Date:   Mon Jan 13 21:59:40 2020 -0800

    mac80211: add ieee80211_is_any_nullfunc()
    
    commit 30b2f0be23fb40e58d0ad2caf8702c2a44cda2e1 upstream.
    
    commit 08a5bdde3812 ("mac80211: consider QoS Null frames for STA_NULLFUNC_ACKED")
    Fixed a bug where we failed to take into account a
    nullfunc frame can be either non-QoS or QoS. It turns out
    there is at least one more bug in
    ieee80211_sta_tx_notify(), introduced in
    commit 7b6ddeaf27ec ("mac80211: use QoS NDP for AP probing"),
    where we forgot to check for the QoS variant and so
    assumed the QoS nullfunc frame never went out
    
    Fix this by adding a helper ieee80211_is_any_nullfunc()
    which consolidates the check for non-QoS and QoS nullfunc
    frames. Replace existing compound conditionals and add a
    couple more missing checks for QoS variant.
    
    Signed-off-by: Thomas Pedersen <thomas@adapt-ip.com>
    Link: https://lore.kernel.org/r/20200114055940.18502-3-thomas@adapt-ip.com
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 468465fdef4d193a7c0404602f008521d67db66b
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Fri Mar 20 15:07:29 2020 +0100

    ACPI: PM: s2idle: Fix comment in acpi_s2idle_prepare_late()
    
    commit 243a98894dc525ad2fbeb608722fcb682be3186d upstream.
    
    Fix a comment in acpi_s2idle_prepare_late() that has become outdated
    after commit f0ac20c3f613 ("ACPI: EC: Fix flushing of pending work").
    
    Fixes: f0ac20c3f613 ("ACPI: EC: Fix flushing of pending work")
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit da283f9be92435e48a0074042c6e40dd4cfca259
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Fri Mar 6 10:17:24 2020 +0100

    platform/x86: GPD pocket fan: Fix error message when temp-limits are out of range
    
    commit 1d6f8c5bac93cceb2d4ac8e6331050652004d802 upstream.
    
    Commit 1f27dbd8265d ("platform/x86: GPD pocket fan: Allow somewhat
    lower/higher temperature limits") changed the module-param sanity check
    to accept temperature limits between 20 and 90 degrees celcius.
    
    But the error message printed when the module params are outside this
    range was not updated. This commit updates the error message to match
    the new min and max value for the temp-limits.
    
    Reported-by: Pavel Machek <pavel@denx.de>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Acked-by: Pavel Machek <pavel@denx.de>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 03f235a5bd3a92dad08c8a8fdf42c4f942956706
Author: Qian Cai <cai@lca.pw>
Date:   Thu Apr 2 11:39:55 2020 -0400

    x86/kvm: fix a missing-prototypes "vmread_error"
    
    commit 514ccc194971d0649e4e7ec8a9b3a6e33561d7bf upstream.
    
    The commit 842f4be95899 ("KVM: VMX: Add a trampoline to fix VMREAD error
    handling") removed the declaration of vmread_error() causes a W=1 build
    failure with KVM_WERROR=y. Fix it by adding it back.
    
    arch/x86/kvm/vmx/vmx.c:359:17: error: no previous prototype for 'vmread_error' [-Werror=missing-prototypes]
     asmlinkage void vmread_error(unsigned long field, bool fault)
                     ^~~~~~~~~~~~
    
    Signed-off-by: Qian Cai <cai@lca.pw>
    Message-Id: <20200402153955.1695-1-cai@lca.pw>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 85701f4768a11de54f45fcad14de47460ab44e35
Author: Takashi Iwai <tiwai@suse.de>
Date:   Fri Apr 24 08:12:22 2020 +0200

    ALSA: hda: Match both PCI ID and SSID for driver blacklist
    
    commit 977dfef40c8996b69afe23a9094d184049efb7bb upstream.
    
    The commit 3c6fd1f07ed0 ("ALSA: hda: Add driver blacklist") added a
    new blacklist for the devices that are known to have empty codecs, and
    one of the entries was ASUS ROG Zenith II (PCI SSID 1043:874f).
    However, it turned out that the very same PCI SSID is used for the
    previous model that does have the valid HD-audio codecs and the change
    broke the sound on it.
    
    Since the empty codec problem appear on the certain AMD platform (PCI
    ID 1022:1487), this patch changes the blacklist matching to both PCI
    ID and SSID using pci_match_id().  Also, the entry that was removed by
    the previous fix for ASUS ROG Zenigh II is re-added.
    
    Link: https://lore.kernel.org/r/20200424061222.19792-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b8b42c8dcf44be39321542d1403e19343ea8224a
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Sat Jan 4 13:00:26 2020 -0800

    hexagon: define ioremap_uc
    
    commit 7312b70699252074d753c5005fc67266c547bbe3 upstream.
    
    Similar to commit 38e45d81d14e ("sparc64: implement ioremap_uc") define
    ioremap_uc for hexagon to avoid errors from
    -Wimplicit-function-definition.
    
    Link: http://lkml.kernel.org/r/20191209222956.239798-2-ndesaulniers@google.com
    Link: https://github.com/ClangBuiltLinux/linux/issues/797
    Fixes: e537654b7039 ("lib: devres: add a helper function for ioremap_uc")
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
    Acked-by: Brian Cain <bcain@codeaurora.org>
    Cc: Lee Jones <lee.jones@linaro.org>
    Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Cc: Tuowen Zhao <ztuowen@gmail.com>
    Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
    Cc: Luis Chamberlain <mcgrof@kernel.org>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Alexios Zavras <alexios.zavras@intel.com>
    Cc: Allison Randal <allison@lohutok.net>
    Cc: Will Deacon <will@kernel.org>
    Cc: Richard Fontana <rfontana@redhat.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Boqun Feng <boqun.feng@gmail.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f31c9e904f1d6c1666d720a087211a9bb9cb3a08
Author: Christoph Hellwig <hch@lst.de>
Date:   Mon Aug 12 23:27:12 2019 +0200

    hexagon: clean up ioremap
    
    commit ac32292c8552f7e8517be184e65dd09786e991f9 upstream.
    
    Use ioremap as the main implemented function, and defined
    ioremap_nocache to it as a deprecated alias.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1bc508b2d16de219b006861d694be5501f910502
Author: Tuowen Zhao <ztuowen@gmail.com>
Date:   Wed Oct 16 15:06:29 2019 -0600

    mfd: intel-lpss: Use devm_ioremap_uc for MMIO
    
    commit a8ff78f7f773142eb8a8befe5a95dd6858ebd635 upstream.
    
    Some BIOS erroneously specifies write-combining BAR for intel-lpss-pci
    in MTRR. This will cause the system to hang during boot. If possible,
    this bug could be corrected with a firmware update.
    
    This patch use devm_ioremap_uc to overwrite/ignore the MTRR settings
    by forcing the use of strongly uncachable pages for intel-lpss.
    
    The BIOS bug is present on Dell XPS 13 7390 2-in-1:
    
    [    0.001734]   5 base 4000000000 mask 6000000000 write-combining
    
    4000000000-7fffffffff : PCI Bus 0000:00
      4000000000-400fffffff : 0000:00:02.0 (i915)
      4010000000-4010000fff : 0000:00:15.0 (intel-lpss-pci)
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=203485
    Cc: <stable@vger.kernel.org> # v4.19+
    Tested-by: AceLan Kao <acelan.kao@canonical.com>
    Signed-off-by: Tuowen Zhao <ztuowen@gmail.com>
    Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Tested-by: Roman Gilg <subdiff@gmail.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 78b19f56b9524044868f964bf7c659c3b4d0062a
Author: Tuowen Zhao <ztuowen@gmail.com>
Date:   Wed Oct 16 15:06:28 2019 -0600

    lib: devres: add a helper function for ioremap_uc
    
    [ Upstream commit e537654b7039aacfe8ae629d49655c0e5692ad44 ]
    
    Implement a resource managed strongly uncachable ioremap function.
    
    Cc: <stable@vger.kernel.org> # v4.19+
    Tested-by: AceLan Kao <acelan.kao@canonical.com>
    Signed-off-by: Tuowen Zhao <ztuowen@gmail.com>
    Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Acked-by: Luis Chamberlain <mcgrof@kernel.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7a9b738c7511718eaa9bad7d9990045bea2336e1
Author: Brendan Higgins <brendanhiggins@google.com>
Date:   Thu Feb 27 16:00:01 2020 -0800

    Revert "software node: Simplify software_node_release() function"
    
    commit 7589238a8cf37331607c3222a64ac3140b29532d upstream.
    
    This reverts commit 3df85a1ae51f6b256982fe9d17c2dc5bfb4cc402.
    
    The reverted commit says "It's possible to release the node ID
    immediately when fwnode_remove_software_node() is called, no need to
    wait for software_node_release() with that." However, releasing the node
    ID before waiting for software_node_release() to be called causes the
    node ID to be released before the kobject and the underlying sysfs
    entry; this means there is a period of time where a sysfs entry exists
    that is associated with an unallocated node ID.
    
    Once consequence of this is that there is a race condition where it is
    possible to call fwnode_create_software_node() with no parent node
    specified (NULL) and have it fail with -EEXIST because the node ID that
    was assigned is still associated with a stale sysfs entry that hasn't
    been cleaned up yet.
    
    Although it is difficult to reproduce this race condition under normal
    conditions, it can be deterministically reproduced with the following
    minconfig on UML:
    
    CONFIG_KUNIT_DRIVER_PE_TEST=y
    CONFIG_DEBUG_KERNEL=y
    CONFIG_DEBUG_OBJECTS=y
    CONFIG_DEBUG_OBJECTS_TIMERS=y
    CONFIG_DEBUG_KOBJECT_RELEASE=y
    CONFIG_KUNIT=y
    
    Running the tests with this configuration causes the following failure:
    
    <snip>
    kobject: 'node0' ((____ptrval____)): kobject_release, parent (____ptrval____) (delayed 400)
            ok 1 - pe_test_uints
    sysfs: cannot create duplicate filename '/kernel/software_nodes/node0'
    CPU: 0 PID: 28 Comm: kunit_try_catch Not tainted 5.6.0-rc3-next-20200227 #14
    <snip>
    kobject_add_internal failed for node0 with -EEXIST, don't try to register things with the same name in the same directory.
    kobject: 'node0' ((____ptrval____)): kobject_release, parent (____ptrval____) (delayed 100)
            # pe_test_uint_arrays: ASSERTION FAILED at drivers/base/test/property-entry-test.c:123
            Expected node is not error, but is: -17
            not ok 2 - pe_test_uint_arrays
    <snip>
    
    Reported-by: Heidi Fahim <heidifahim@google.com>
    Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
    Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
    Cc: 5.3+ <stable@vger.kernel.org> # 5.3+
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b8bb9c3192f948e12d2d045a09ea378aebac1480
Author: Aaron Ma <aaron.ma@canonical.com>
Date:   Fri Apr 3 22:34:19 2020 +0800

    drm/amdgpu: Fix oops when pp_funcs is unset in ACPI event
    
    commit 5932d260a8d85a103bd6c504fbb85ff58b156bf9 upstream.
    
    On ARCTURUS and RENOIR, powerplay is not supported yet.
    When plug in or unplug power jack, ACPI event will issue.
    Then kernel NULL pointer BUG will be triggered.
    Check for NULL pointers before calling.
    
    Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3fb4c93dc761906e95a3e0ce05c33f9f23a94aa1
Author: Jere Leppänen <jere.leppanen@nokia.com>
Date:   Tue Apr 21 22:03:42 2020 +0300

    sctp: Fix SHUTDOWN CTSN Ack in the peer restart case
    
    commit 12dfd78e3a74825e6f0bc8df7ef9f938fbc6bfe3 upstream.
    
    When starting shutdown in sctp_sf_do_dupcook_a(), get the value for
    SHUTDOWN Cumulative TSN Ack from the new association, which is
    reconstructed from the cookie, instead of the old association, which
    the peer doesn't have anymore.
    
    Otherwise the SHUTDOWN is either ignored or replied to with an ABORT
    by the peer because CTSN Ack doesn't match the peer's Initial TSN.
    
    Fixes: bdf6fa52f01b ("sctp: handle association restarts when the socket is closed.")
    Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
    Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9da07c4aeaf78cca7d786c003595df38ad838aa8
Author: Matt Roper <matthew.d.roper@intel.com>
Date:   Mon Dec 23 17:20:24 2019 -0800

    drm/i915: Extend WaDisableDARBFClkGating to icl,ehl,tgl
    
    commit 1e1a139d62d1c11e3083c8638d31a9744bec3918 upstream.
    
    WaDisableDARBFClkGating, now known as Wa_14010480278, has been added to
    the workaround tables for ICL, EHL, and TGL so we need to extend our
    platform test accordingly.
    
    Bspec: 33450
    Bspec: 33451
    Bspec: 52890
    Cc: stable@kernel.vger.org
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: Matt Atwood <matthew.s.atwood@intel.com>
    Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
    Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20191224012026.3157766-2-matthew.d.roper@intel.com
    Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d8e0b58fa471c0cc8850ffef2e8b492378155bfc
Author: Doug Berger <opendmb@gmail.com>
Date:   Thu Apr 23 16:13:30 2020 -0700

    net: systemport: suppress warnings on failed Rx SKB allocations
    
    [ Upstream commit 3554e54a46125030c534820c297ed7f6c3907e24 ]
    
    The driver is designed to drop Rx packets and reclaim the buffers
    when an allocation fails, and the network interface needs to safely
    handle this packet loss. Therefore, an allocation failure of Rx
    SKBs is relatively benign.
    
    However, the output of the warning message occurs with a high
    scheduling priority that can cause excessive jitter/latency for
    other high priority processing.
    
    This commit suppresses the warning messages to prevent scheduling
    problems while retaining the failure count in the statistics of
    the network interface.
    
    Signed-off-by: Doug Berger <opendmb@gmail.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 5c065ee4a07dad5531c9a475ae4c44bc274eb6de
Author: Doug Berger <opendmb@gmail.com>
Date:   Thu Apr 23 16:02:11 2020 -0700

    net: bcmgenet: suppress warnings on failed Rx SKB allocations
    
    [ Upstream commit ecaeceb8a8a145d93c7e136f170238229165348f ]
    
    The driver is designed to drop Rx packets and reclaim the buffers
    when an allocation fails, and the network interface needs to safely
    handle this packet loss. Therefore, an allocation failure of Rx
    SKBs is relatively benign.
    
    However, the output of the warning message occurs with a high
    scheduling priority that can cause excessive jitter/latency for
    other high priority processing.
    
    This commit suppresses the warning messages to prevent scheduling
    problems while retaining the failure count in the statistics of
    the network interface.
    
    Signed-off-by: Doug Berger <opendmb@gmail.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 fd2c9e605269be4d4eb936973c058c5d599b2665
Author: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com>
Date:   Thu Apr 9 13:59:06 2020 +0530

    mac80211: sta_info: Add lockdep condition for RCU list usage
    
    [ Upstream commit 8ca47eb9f9e4e10e7e7fa695731a88941732c38d ]
    
    The function sta_info_get_by_idx() uses RCU list primitive.
    It is called with  local->sta_mtx held from mac80211/cfg.c.
    Add lockdep expression to avoid any false positive RCU list warnings.
    
    Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com>
    Link: https://lore.kernel.org/r/20200409082906.27427-1-madhuparnabhowmik10@gmail.com
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 07fea3d3ef880687c7002377b264bb0f62145542
Author: Nathan Chancellor <natechancellor@gmail.com>
Date:   Mon Apr 13 12:50:42 2020 -0700

    lib/mpi: Fix building for powerpc with clang
    
    [ Upstream commit 5990cdee689c6885b27c6d969a3d58b09002b0bc ]
    
    0day reports over and over on an powerpc randconfig with clang:
    
    lib/mpi/generic_mpih-mul1.c:37:13: error: invalid use of a cast in a
    inline asm context requiring an l-value: remove the cast or build with
    -fheinous-gnu-extensions
    
    Remove the superfluous casts, which have been done previously for x86
    and arm32 in commit dea632cadd12 ("lib/mpi: fix build with clang") and
    commit 7b7c1df2883d ("lib/mpi/longlong.h: fix building with 32-bit
    x86").
    
    Reported-by: kbuild test robot <lkp@intel.com>
    Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
    Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://github.com/ClangBuiltLinux/linux/issues/991
    Link: https://lore.kernel.org/r/20200413195041.24064-1-natechancellor@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bacf98ee00036106ce41e62fb607070b84ca4592
Author: Vamshi K Sthambamkadi <vamshi.k.sthambamkadi@gmail.com>
Date:   Wed Apr 22 11:45:06 2020 +0530

    tracing: Fix memory leaks in trace_events_hist.c
    
    [ Upstream commit 9da73974eb9c965dd9989befb593b8c8da9e4bdc ]
    
    kmemleak report 1:
        [<9092c50b>] kmem_cache_alloc_trace+0x138/0x270
        [<05a2c9ed>] create_field_var+0xcf/0x180
        [<528a2d68>] action_create+0xe2/0xc80
        [<63f50b61>] event_hist_trigger_func+0x15b5/0x1920
        [<28ea5d3d>] trigger_process_regex+0x7b/0xc0
        [<3138e86f>] event_trigger_write+0x4d/0xb0
        [<ffd66c19>] __vfs_write+0x30/0x200
        [<4f424a0d>] vfs_write+0x96/0x1b0
        [<da59a290>] ksys_write+0x53/0xc0
        [<3717101a>] __ia32_sys_write+0x15/0x20
        [<c5f23497>] do_fast_syscall_32+0x70/0x250
        [<46e2629c>] entry_SYSENTER_32+0xaf/0x102
    
    This is because save_vars[] of struct hist_trigger_data are
    not destroyed
    
    kmemleak report 2:
        [<9092c50b>] kmem_cache_alloc_trace+0x138/0x270
        [<6e5e97c5>] create_var+0x3c/0x110
        [<de82f1b9>] create_field_var+0xaf/0x180
        [<528a2d68>] action_create+0xe2/0xc80
        [<63f50b61>] event_hist_trigger_func+0x15b5/0x1920
        [<28ea5d3d>] trigger_process_regex+0x7b/0xc0
        [<3138e86f>] event_trigger_write+0x4d/0xb0
        [<ffd66c19>] __vfs_write+0x30/0x200
        [<4f424a0d>] vfs_write+0x96/0x1b0
        [<da59a290>] ksys_write+0x53/0xc0
        [<3717101a>] __ia32_sys_write+0x15/0x20
        [<c5f23497>] do_fast_syscall_32+0x70/0x250
        [<46e2629c>] entry_SYSENTER_32+0xaf/0x102
    
    struct hist_field allocated through create_var() do not initialize
    "ref" field to 1. The code in __destroy_hist_field() does not destroy
    object if "ref" is initialized to zero, the condition
    if (--hist_field->ref > 1) always passes since unsigned int wraps.
    
    kmemleak report 3:
        [<f8666fcc>] __kmalloc_track_caller+0x139/0x2b0
        [<bb7f80a5>] kstrdup+0x27/0x50
        [<39d70006>] init_var_ref+0x58/0xd0
        [<8ca76370>] create_var_ref+0x89/0xe0
        [<f045fc39>] action_create+0x38f/0xc80
        [<7c146821>] event_hist_trigger_func+0x15b5/0x1920
        [<07de3f61>] trigger_process_regex+0x7b/0xc0
        [<e87daf8f>] event_trigger_write+0x4d/0xb0
        [<19bf1512>] __vfs_write+0x30/0x200
        [<64ce4d27>] vfs_write+0x96/0x1b0
        [<a6f34170>] ksys_write+0x53/0xc0
        [<7d4230cd>] __ia32_sys_write+0x15/0x20
        [<8eadca00>] do_fast_syscall_32+0x70/0x250
        [<235cf985>] entry_SYSENTER_32+0xaf/0x102
    
    hist_fields (system & event_name) are not freed
    
    Link: http://lkml.kernel.org/r/20200422061503.GA5151@cosmos
    
    Signed-off-by: Vamshi K Sthambamkadi <vamshi.k.sthambamkadi@gmail.com>
    Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c46330d4dabf48ca826bad1aeda0568684c6a567
Author: Paulo Alcantara <pc@cjr.nz>
Date:   Mon Apr 20 19:42:57 2020 -0300

    cifs: do not share tcons with DFS
    
    [ Upstream commit 65303de829dd6d291a4947c1a31de31896f8a060 ]
    
    This disables tcon re-use for DFS shares.
    
    tcon->dfs_path stores the path that the tcon should connect to when
    doing failing over.
    
    If that tcon is used multiple times e.g. 2 mounts using it with
    different prefixpath, each will need a different dfs_path but there is
    only one tcon. The other solution would be to split the tcon in 2
    tcons during failover but that is much harder.
    
    tcons could not be shared with DFS in cifs.ko because in a
    DFS namespace like:
    
              //domain/dfsroot -> /serverA/dfsroot, /serverB/dfsroot
    
              //serverA/dfsroot/link -> /serverA/target1/aa/bb
    
              //serverA/dfsroot/link2 -> /serverA/target1/cc/dd
    
    you can see that link and link2 are two DFS links that both resolve to
    the same target share (/serverA/target1), so cifs.ko will only contain a
    single tcon for both link and link2.
    
    The problem with that is, if we (auto)mount "link" and "link2", cifs.ko
    will only contain a single tcon for both DFS links so we couldn't
    perform failover or refresh the DFS cache for both links because
    tcon->dfs_path was set to either "link" or "link2", but not both --
    which is wrong.
    
    Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
    Reviewed-by: Aurelien Aptel <aaptel@suse.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 84778248e013eacafb16ea0261fd4de4dd2f4497
Author: Jeremie Francois (on alpha) <jeremie.francois@gmail.com>
Date:   Fri Apr 10 18:57:40 2020 +0200

    scripts/config: allow colons in option strings for sed
    
    [ Upstream commit e461bc9f9ab105637b86065d24b0b83f182d477c ]
    
    Sed broke on some strings as it used colon as a separator.
    I made it more robust by using \001, which is legit POSIX AFAIK.
    
    E.g. ./config --set-str CONFIG_USBNET_DEVADDR "de:ad:be:ef:00:01"
    failed with: sed: -e expression #1, char 55: unknown option to `s'
    
    Signed-off-by: Jeremie Francois (on alpha) <jeremie.francois@gmail.com>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b31e0bd4a97abab2f7e889c59014f71d56dd3bab
Author: Ronnie Sahlberg <lsahlber@redhat.com>
Date:   Tue Apr 21 12:37:39 2020 +1000

    cifs: protect updating server->dstaddr with a spinlock
    
    [ Upstream commit fada37f6f62995cc449b36ebba1220594bfe55fe ]
    
    We use a spinlock while we are reading and accessing the destination address for a server.
    We need to also use this spinlock to protect when we are modifying this address from
    reconn_set_ipaddr().
    
    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Reviewed-by: Jeff Layton <jlayton@kernel.org>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0560b7c3ba48bccf60ed68aacc23c2e1c9f1c793
Author: Matthias Blankertz <matthias.blankertz@cetitec.com>
Date:   Fri Apr 17 17:30:17 2020 +0200

    ASoC: rsnd: Fix "status check failed" spam for multi-SSI
    
    [ Upstream commit 54cb6221688660670a2e430892d7f4e6370263b8 ]
    
    Fix the rsnd_ssi_stop function to skip disabling the individual SSIs of
    a multi-SSI setup, as the actual stop is performed by rsnd_ssiu_stop_gen2
    - the same logic as in rsnd_ssi_start. The attempt to disable these SSIs
    was harmless, but caused a "status check failed" message to be printed
    for every SSI in the multi-SSI setup.
    The disabling of interrupts is still performed, as they are enabled for
    all SSIs in rsnd_ssi_init, but care is taken to not accidentally set the
    EN bit for an SSI where it was not set by rsnd_ssi_start.
    
    Signed-off-by: Matthias Blankertz <matthias.blankertz@cetitec.com>
    Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/20200417153017.1744454-3-matthias.blankertz@cetitec.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 883d34cdefea2abef9e9a7951d6c5386c94b8557
Author: Matthias Blankertz <matthias.blankertz@cetitec.com>
Date:   Fri Apr 17 17:30:16 2020 +0200

    ASoC: rsnd: Don't treat master SSI in multi SSI setup as parent
    
    [ Upstream commit 0c258657ddfe81b4fc0183378d800c97ba0b7cdd ]
    
    The master SSI of a multi-SSI setup was attached both to the
    RSND_MOD_SSI slot and the RSND_MOD_SSIP slot of the rsnd_dai_stream.
    This is not correct wrt. the meaning of being "parent" in the rest of
    the SSI code, where it seems to indicate an SSI that provides clock and
    word sync but is not transmitting/receiving audio data.
    
    Not treating the multi-SSI master as parent allows removal of various
    special cases to the rsnd_ssi_is_parent conditions introduced in commit
    a09fb3f28a60 ("ASoC: rsnd: Fix parent SSI start/stop in multi-SSI mode").
    It also fixes the issue that operations performed via rsnd_dai_call()
    were performed twice for the master SSI. This caused some "status check
    failed" spam when stopping a multi-SSI stream as the driver attempted to
    stop the master SSI twice.
    
    Signed-off-by: Matthias Blankertz <matthias.blankertz@cetitec.com>
    Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/20200417153017.1744454-2-matthias.blankertz@cetitec.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 15de2df38652ba67b32ec13e7e7de64f048818e3
Author: Julien Beraud <julien.beraud@orolia.com>
Date:   Wed Apr 15 14:24:32 2020 +0200

    net: stmmac: Fix sub-second increment
    
    [ Upstream commit 91a2559c1dc5b0f7e1256d42b1508935e8eabfbf ]
    
    In fine adjustement mode, which is the current default, the sub-second
        increment register is the number of nanoseconds that will be added to
        the clock when the accumulator overflows. At each clock cycle, the
        value of the addend register is added to the accumulator.
        Currently, we use 20ns = 1e09ns / 50MHz as this value whatever the
        frequency of the ptp clock actually is.
        The adjustment is then done on the addend register, only incrementing
        every X clock cycles X being the ratio between 50MHz and ptp_clock_rate
        (addend = 2^32 * 50MHz/ptp_clock_rate).
        This causes the following issues :
        - In case the frequency of the ptp clock is inferior or equal to 50MHz,
          the addend value calculation will overflow and the default
          addend value will be set to 0, causing the clock to not work at
          all. (For instance, for ptp_clock_rate = 50MHz, addend = 2^32).
        - The resolution of the timestamping clock is limited to 20ns while it
          is not needed, thus limiting the accuracy of the timestamping to
          20ns.
    
        Fix this by setting sub-second increment to 2e09ns / ptp_clock_rate.
        It will allow to reach the minimum possible frequency for
        ptp_clk_ref, which is 5MHz for GMII 1000Mps Full-Duplex by setting the
        sub-second-increment to a higher value. For instance, for 25MHz, it
        gives ssinc = 80ns and default_addend = 2^31.
        It will also allow to use a lower value for sub-second-increment, thus
        improving the timestamping accuracy with frequencies higher than
        100MHz, for instance, for 200MHz, ssinc = 10ns and default_addend =
        2^31.
    
    v1->v2:
     - Remove modifications to the calculation of default addend, which broke
     compatibility with clock frequencies for which 2000000000 / ptp_clk_freq
     is not an integer.
     - Modify description according to discussions.
    
    Signed-off-by: Julien Beraud <julien.beraud@orolia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8d5a1ddaa9bbe1e18d1445240765b2a612df1b04
Author: Julien Beraud <julien.beraud@orolia.com>
Date:   Wed Apr 15 14:24:31 2020 +0200

    net: stmmac: fix enabling socfpga's ptp_ref_clock
    
    [ Upstream commit 15ce30609d1e88d42fb1cd948f453e6d5f188249 ]
    
    There are 2 registers to write to enable a ptp ref clock coming from the
    fpga.
    One that enables the usage of the clock from the fpga for emac0 and emac1
    as a ptp ref clock, and the other to allow signals from the fpga to reach
    emac0 and emac1.
    Currently, if the dwmac-socfpga has phymode set to PHY_INTERFACE_MODE_MII,
    PHY_INTERFACE_MODE_GMII, or PHY_INTERFACE_MODE_SGMII, both registers will
    be written and the ptp ref clock will be set as coming from the fpga.
    Separate the 2 register writes to only enable signals from the fpga to
    reach emac0 or emac1 when ptp ref clock is not coming from the fpga.
    
    Signed-off-by: Julien Beraud <julien.beraud@orolia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d3539ea43a37b6dce6c59c6157966a5a6f5df483
Author: Xiyu Yang <xiyuyang19@fudan.edu.cn>
Date:   Wed Apr 15 16:41:20 2020 +0800

    wimax/i2400m: Fix potential urb refcnt leak
    
    [ Upstream commit 7717cbec172c3554d470023b4020d5781961187e ]
    
    i2400mu_bus_bm_wait_for_ack() invokes usb_get_urb(), which increases the
    refcount of the "notif_urb".
    
    When i2400mu_bus_bm_wait_for_ack() returns, local variable "notif_urb"
    becomes invalid, so the refcount should be decreased to keep refcount
    balanced.
    
    The issue happens in all paths of i2400mu_bus_bm_wait_for_ack(), which
    forget to decrease the refcnt increased by usb_get_urb(), causing a
    refcnt leak.
    
    Fix this issue by calling usb_put_urb() before the
    i2400mu_bus_bm_wait_for_ack() returns.
    
    Signed-off-by: Xiyu Yang <xiyuyang19@fudan.edu.cn>
    Signed-off-by: Xin Tan <tanxin.ctf@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f0d6b056bc18cc4cfc7ab7b6f469d4f84af958d4
Author: Sandeep Raghuraman <sandy.8925@gmail.com>
Date:   Fri Apr 17 01:37:45 2020 +0530

    drm/amdgpu: Correctly initialize thermal controller for GPUs with Powerplay table v0 (e.g Hawaii)
    
    [ Upstream commit bbc25dadc7ed19f9d6b2e30980f0eb4c741bb8bf ]
    
    Initialize thermal controller fields in the PowerPlay table for Hawaii
    GPUs, so that fan speeds are reported.
    
    Signed-off-by: Sandeep Raghuraman <sandy.8925@gmail.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a09ba140db2f3b79916719865260183628ef8583
Author: Alex Elder <elder@linaro.org>
Date:   Fri Apr 3 12:50:04 2020 -0500

    remoteproc: qcom_q6v5_mss: fix a bug in q6v5_probe()
    
    [ Upstream commit 13c060b50a341dd60303e5264d12108b5747f200 ]
    
    If looking up the DT "firmware-name" property fails in q6v6_probe(),
    the function returns without freeing the remoteproc structure
    that has been allocated.  Fix this by jumping to the free_rproc
    label, which takes care of this.
    
    Signed-off-by: Alex Elder <elder@linaro.org>
    Link: https://lore.kernel.org/r/20200403175005.17130-3-elder@linaro.org
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b2978c307696d85f295cc1aea00fb1ea2636c8f3
Author: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Date:   Wed Apr 15 12:28:49 2020 -0400

    ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry
    
    [ Upstream commit 326b509238171d37402dbe308e154cc234ed1960 ]
    
    If we don't find any pcm, pcm will point at address at an offset from
    the the list head and not a meaningful structure. Fix this by returning
    correct pcm if found and NULL if not. Found with coccinelle.
    
    Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Link: https://lore.kernel.org/r/20200415162849.308-1-amadeuszx.slawinski@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f9c3a17786fdeee1e016b9f63ec41faee8a7efbc
Author: Matthias Blankertz <matthias.blankertz@cetitec.com>
Date:   Wed Apr 15 16:10:17 2020 +0200

    ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode
    
    [ Upstream commit b94e164759b82d0c1c80d4b1c8f12c9bee83f11d ]
    
    The HDMI?_SEL register maps up to four stereo SSI data lanes onto the
    sdata[0..3] inputs of the HDMI output block. The upper half of the
    register contains four blocks of 4 bits, with the most significant
    controlling the sdata3 line and the least significant the sdata0 line.
    
    The shift calculation has an off-by-one error, causing the parent SSI to
    be mapped to sdata3, the first multi-SSI child to sdata0 and so forth.
    As the parent SSI transmits the stereo L/R channels, and the HDMI core
    expects it on the sdata0 line, this causes no audio to be output when
    playing stereo audio on a multichannel capable HDMI out, and
    multichannel audio has permutated channels.
    
    Fix the shift calculation to map the parent SSI to sdata0, the first
    child to sdata1 etc.
    
    Signed-off-by: Matthias Blankertz <matthias.blankertz@cetitec.com>
    Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/20200415141017.384017-3-matthias.blankertz@cetitec.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 26500b980bf83d0eac69709a74529fc1bc4a1872
Author: Matthias Blankertz <matthias.blankertz@cetitec.com>
Date:   Wed Apr 15 16:10:16 2020 +0200

    ASoC: rsnd: Fix parent SSI start/stop in multi-SSI mode
    
    [ Upstream commit a09fb3f28a60ba3e928a1fa94b0456780800299d ]
    
    The parent SSI of a multi-SSI setup must be fully setup, started and
    stopped since it is also part of the playback/capture setup. So only
    skip the SSI (as per commit 203cdf51f288 ("ASoC: rsnd: SSI parent cares
    SWSP bit") and commit 597b046f0d99 ("ASoC: rsnd: control SSICR::EN
    correctly")) if the SSI is parent outside of a multi-SSI setup.
    
    Signed-off-by: Matthias Blankertz <matthias.blankertz@cetitec.com>
    Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/20200415141017.384017-2-matthias.blankertz@cetitec.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5087c7f4e7f223ff643e7f17aff617eca066093f
Author: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Date:   Fri Jan 31 16:59:27 2020 -0800

    usb: dwc3: gadget: Properly set maxpacket limit
    
    [ Upstream commit d94ea5319813658ad5861d161ae16a194c2abf88 ]
    
    Currently the calculation of max packet size limit for IN endpoints is
    too restrictive. This prevents a matching of a capable hardware endpoint
    during configuration. Below is the minimum recommended HW configuration
    to support a particular endpoint setup from the databook:
    
    For OUT endpoints, the databook recommended the minimum RxFIFO size to
    be at least 3x MaxPacketSize + 3x setup packets size (8 bytes each) +
    clock crossing margin (16 bytes).
    
    For IN endpoints, the databook recommended the minimum TxFIFO size to be
    at least 3x MaxPacketSize for endpoints that support burst. If the
    endpoint doesn't support burst or when the device is operating in USB
    2.0 mode, a minimum TxFIFO size of 2x MaxPacketSize is recommended.
    
    Base on these recommendations, we can calculate the MaxPacketSize limit
    of each endpoint. This patch revises the IN endpoint MaxPacketSize limit
    and also sets the MaxPacketSize limit for OUT endpoints.
    
    Reference: Databook 3.30a section 3.2.2 and 3.2.3
    
    Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
    Signed-off-by: Felipe Balbi <balbi@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ab182c06fc22c43845a2986366dadb7f054069ae
Author: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Date:   Wed Apr 15 12:24:35 2020 -0400

    ASoC: topology: Fix endianness issue
    
    [ Upstream commit 26d87881590fd55ccdd8f829498d7b3033f81990 ]
    
    As done in already existing cases, we should use le32_to_cpu macro while
    accessing hdr->magic. Found with sparse.
    
    Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Link: https://lore.kernel.org/r/20200415162435.31859-2-amadeuszx.slawinski@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ae975c8e106210f6a1442caa84c32bdc55ed64d2
Author: Sebastian Reichel <sebastian.reichel@collabora.com>
Date:   Tue Apr 14 20:11:40 2020 +0200

    ASoC: sgtl5000: Fix VAG power-on handling
    
    [ Upstream commit aa7812737f2877e192d57626cbe8825cc7cf6de9 ]
    
    As mentioned slightly out of patch context in the code, there
    is no reset routine for the chip. On boards where the chip is
    supplied by a fixed regulator, it might not even be resetted
    during (e.g. watchdog) reboot and can be in any state.
    
    If the device is probed with VAG enabled, the driver's probe
    routine will generate a loud pop sound when ANA_POWER is
    being programmed. Avoid this by properly disabling just the
    VAG bit and waiting the required power down time.
    
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Reviewed-by: Fabio Estevam <festivem@gmail.com>
    Link: https://lore.kernel.org/r/20200414181140.145825-1-sebastian.reichel@collabora.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3ea62d49613b7ab64defeb6f28bb7f131d4b3afc
Author: Tyler Hicks <tyhicks@linux.microsoft.com>
Date:   Mon Apr 13 15:21:45 2020 -0500

    selftests/ipc: Fix test failure seen after initial test run
    
    [ Upstream commit b87080eab4c1377706c113fc9c0157f19ea8fed1 ]
    
    After successfully running the IPC msgque test once, subsequent runs
    result in a test failure:
    
      $ sudo ./run_kselftest.sh
      TAP version 13
      1..1
      # selftests: ipc: msgque
      # Failed to get stats for IPC queue with id 0
      # Failed to dump queue: -22
      # Bail out!
      # # Pass 0 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
      not ok 1 selftests: ipc: msgque # exit=1
    
    The dump_queue() function loops through the possible message queue index
    values using calls to msgctl(kern_id, MSG_STAT, ...) where kern_id
    represents the index value. The first time the test is ran, the initial
    index value of 0 is valid and the test is able to complete. The index
    value of 0 is not valid in subsequent test runs and the loop attempts to
    try index values of 1, 2, 3, and so on until a valid index value is
    found that corresponds to the message queue created earlier in the test.
    
    The msgctl() syscall returns -1 and sets errno to EINVAL when invalid
    index values are used. The test failure is caused by incorrectly
    comparing errno to -EINVAL when cycling through possible index values.
    
    Fix invalid test failures on subsequent runs of the msgque test by
    correctly comparing errno values to a non-negated EINVAL.
    
    Fixes: 3a665531a3b7 ("selftests: IPC message queue copy feature test")
    Signed-off-by: Tyler Hicks <tyhicks@linux.microsoft.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a5dec15686e9af32693024fb8fdc2125fd41ad8d
Author: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Date:   Fri Mar 27 16:47:29 2020 -0400

    ASoC: topology: Check return value of soc_tplg_dai_config
    
    [ Upstream commit dd8e871d4e560eeb8d22af82dde91457ad835a63 ]
    
    Function soc_tplg_dai_config can fail, check for and handle possible
    failure.
    
    Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20200327204729.397-7-amadeuszx.slawinski@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fd8f4a3be50b54d6a9d66d7dfbdb4cd444ff415e
Author: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Date:   Fri Mar 27 16:47:28 2020 -0400

    ASoC: topology: Check return value of pcm_new_ver
    
    [ Upstream commit b3677fc3d68dd942c92de52f0bd9dd8b472a40e6 ]
    
    Function pcm_new_ver can fail, so we should check it's return value and
    handle possible error.
    
    Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20200327204729.397-6-amadeuszx.slawinski@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0d452c7e309ce2ffa2cd149cd3aa4b7750d52f8b
Author: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Date:   Fri Mar 27 16:47:27 2020 -0400

    ASoC: topology: Check soc_tplg_add_route return value
    
    [ Upstream commit 6856e887eae3efc0fe56899cb3f969fe063171c5 ]
    
    Function soc_tplg_add_route can propagate error code from callback, we
    should check its return value and handle fail in correct way.
    
    Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20200327204729.397-5-amadeuszx.slawinski@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 76336d4fa881d101efd1ae9e550348b0c7df90ed
Author: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Date:   Fri Mar 27 16:47:26 2020 -0400

    ASoC: topology: Check return value of soc_tplg_*_create
    
    [ Upstream commit 2ae548f30d7f6973388fc3769bb3c2f6fd13652b ]
    
    Functions soc_tplg_denum_create, soc_tplg_dmixer_create,
    soc_tplg_dbytes_create can fail, so their return values should be
    checked and error should be propagated.
    
    Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20200327204729.397-4-amadeuszx.slawinski@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit db80b7cb17d9193f05e4d4d564aec32309881324
Author: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Date:   Fri Mar 27 16:47:25 2020 -0400

    ASoC: topology: Check return value of soc_tplg_create_tlv
    
    [ Upstream commit 482db55ae87f3749db05810a38b1d618dfd4407c ]
    
    Function soc_tplg_create_tlv can fail, so we should check if it succeded
    or not and proceed appropriately.
    
    Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20200327204729.397-3-amadeuszx.slawinski@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 04da88c86c2e3a7e306823a658dd46ccebdbb3d6
Author: Marek Szyprowski <m.szyprowski@samsung.com>
Date:   Tue Mar 10 11:34:27 2020 +0100

    drm/bridge: analogix_dp: Split bind() into probe() and real bind()
    
    [ Upstream commit 83a196773b8bc6702f49df1eddc848180e350340 ]
    
    Analogix_dp driver acquires all its resources in the ->bind() callback,
    what is a bit against the component driver based approach, where the
    driver initialization is split into a probe(), where all resources are
    gathered, and a bind(), where all objects are created and a compound
    driver is initialized.
    
    Extract all the resource related operations to analogix_dp_probe() and
    analogix_dp_remove(), then call them before/after registration of the
    device components from the main Exynos DP and Rockchip DP drivers. Also
    move the plat_data initialization to the probe() to make it available for
    the analogix_dp_probe() function.
    
    This fixes the multiple calls to the bind() of the DRM compound driver
    when the DP PHY driver is not yet loaded/probed:
    
    [drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
    exynos-drm exynos-drm: bound 14400000.fimd (ops fimd_component_ops [exynosdrm])
    exynos-drm exynos-drm: bound 14450000.mixer (ops mixer_component_ops [exynosdrm])
    exynos-dp 145b0000.dp-controller: no DP phy configured
    exynos-drm exynos-drm: failed to bind 145b0000.dp-controller (ops exynos_dp_ops [exynosdrm]): -517
    exynos-drm exynos-drm: master bind failed: -517
    ...
    [drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
    exynos-drm exynos-drm: bound 14400000.fimd (ops hdmi_enable [exynosdrm])
    exynos-drm exynos-drm: bound 14450000.mixer (ops hdmi_enable [exynosdrm])
    exynos-drm exynos-drm: bound 145b0000.dp-controller (ops hdmi_enable [exynosdrm])
    exynos-drm exynos-drm: bound 14530000.hdmi (ops hdmi_enable [exynosdrm])
    [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    Console: switching to colour frame buffer device 170x48
    exynos-drm exynos-drm: fb0: exynosdrmfb frame buffer device
    [drm] Initialized exynos 1.1.0 20180330 for exynos-drm on minor 1
    ...
    
    Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
    Acked-by: Andy Yan <andy.yan@rock-chips.com>
    Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
    Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200310103427.26048-1-m.szyprowski@samsung.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 336c7260a7888f2def143629694ba087dbcfa9d3
Author: Jia He <justin.he@arm.com>
Date:   Fri May 1 12:38:40 2020 +0800

    vhost: vsock: kick send_pkt worker once device is started
    
    commit 0b841030625cde5f784dd62aec72d6a766faae70 upstream.
    
    Ning Bo reported an abnormal 2-second gap when booting Kata container [1].
    The unconditional timeout was caused by VSOCK_DEFAULT_CONNECT_TIMEOUT of
    connecting from the client side. The vhost vsock client tries to connect
    an initializing virtio vsock server.
    
    The abnormal flow looks like:
    host-userspace           vhost vsock                       guest vsock
    ==============           ===========                       ============
    connect()     -------->  vhost_transport_send_pkt_work()   initializing
       |                     vq->private_data==NULL
       |                     will not be queued
       V
    schedule_timeout(2s)
                             vhost_vsock_start()  <---------   device ready
                             set vq->private_data
    
    wait for 2s and failed
    connect() again          vq->private_data!=NULL         recv connecting pkt
    
    Details:
    1. Host userspace sends a connect pkt, at that time, guest vsock is under
       initializing, hence the vhost_vsock_start has not been called. So
       vq->private_data==NULL, and the pkt is not been queued to send to guest
    2. Then it sleeps for 2s
    3. After guest vsock finishes initializing, vq->private_data is set
    4. When host userspace wakes up after 2s, send connecting pkt again,
       everything is fine.
    
    As suggested by Stefano Garzarella, this fixes it by additional kicking the
    send_pkt worker in vhost_vsock_start once the virtio device is started. This
    makes the pending pkt sent again.
    
    After this patch, kata-runtime (with vsock enabled) boot time is reduced
    from 3s to 1s on a ThunderX2 arm64 server.
    
    [1] https://github.com/kata-containers/runtime/issues/1917
    
    Reported-by: Ning Bo <n.b@live.com>
    Suggested-by: Stefano Garzarella <sgarzare@redhat.com>
    Signed-off-by: Jia He <justin.he@arm.com>
    Link: https://lore.kernel.org/r/20200501043840.186557-1-justin.he@arm.com
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>