--- /dev/null
+From 243a98894dc525ad2fbeb608722fcb682be3186d Mon Sep 17 00:00:00 2001
+From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
+Date: Fri, 20 Mar 2020 15:07:29 +0100
+Subject: ACPI: PM: s2idle: Fix comment in acpi_s2idle_prepare_late()
+
+From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+
+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>
+
+---
+ drivers/acpi/sleep.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+--- a/drivers/acpi/sleep.c
++++ b/drivers/acpi/sleep.c
+@@ -979,10 +979,7 @@ static int acpi_s2idle_prepare_late(void
+
+ static void acpi_s2idle_sync(void)
+ {
+- /*
+- * The EC driver uses the system workqueue and an additional special
+- * one, so those need to be flushed too.
+- */
++ /* The EC driver uses special workqueues that need to be flushed. */
+ acpi_ec_flush_work();
+ acpi_os_wait_events_complete(); /* synchronize Notify handling */
+ }
--- /dev/null
+From 526f3d96b8f83b1b13d73bd0b5c79cc2c487ec8e Mon Sep 17 00:00:00 2001
+From: Jiri Slaby <jslaby@suse.cz>
+Date: Mon, 20 Apr 2020 09:04:24 +0200
+Subject: cgroup, netclassid: remove double cond_resched
+
+From: Jiri Slaby <jslaby@suse.cz>
+
+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>
+
+---
+ net/core/netclassid_cgroup.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+--- a/net/core/netclassid_cgroup.c
++++ b/net/core/netclassid_cgroup.c
+@@ -127,10 +127,8 @@ static int write_classid(struct cgroup_s
+ cs->classid = (u32)value;
+
+ css_task_iter_start(css, 0, &it);
+- while ((p = css_task_iter_next(&it))) {
++ while ((p = css_task_iter_next(&it)))
+ update_classid_task(p, cs->classid);
+- cond_resched();
+- }
+ css_task_iter_end(&it);
+
+ return 0;
--- /dev/null
+From aa915931ac3e53ccf371308e6750da510e3591dd Mon Sep 17 00:00:00 2001
+From: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
+Date: Fri, 13 Dec 2019 07:11:14 -0300
+Subject: libbpf: Fix readelf output parsing for Fedora
+
+From: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
+
+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>
+
+---
+ tools/lib/bpf/Makefile | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/tools/lib/bpf/Makefile
++++ b/tools/lib/bpf/Makefile
+@@ -145,6 +145,7 @@ PC_FILE := $(addprefix $(OUTPUT),$(PC_F
+
+ GLOBAL_SYM_COUNT = $(shell readelf -s --wide $(BPF_IN_SHARED) | \
+ cut -d "@" -f1 | sed 's/_v[0-9]_[0-9]_[0-9].*//' | \
++ sed 's/\[.*\]//' | \
+ awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}' | \
+ sort -u | wc -l)
+ VERSIONED_SYM_COUNT = $(shell readelf -s --wide $(OUTPUT)libbpf.so | \
+@@ -217,6 +218,7 @@ check_abi: $(OUTPUT)libbpf.so
+ "versioned in $(VERSION_SCRIPT)." >&2; \
+ readelf -s --wide $(BPF_IN_SHARED) | \
+ cut -d "@" -f1 | sed 's/_v[0-9]_[0-9]_[0-9].*//' | \
++ sed 's/\[.*\]//' | \
+ awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}'| \
+ sort -u > $(OUTPUT)libbpf_global_syms.tmp; \
+ readelf -s --wide $(OUTPUT)libbpf.so | \
--- /dev/null
+From 30b2f0be23fb40e58d0ad2caf8702c2a44cda2e1 Mon Sep 17 00:00:00 2001
+From: Thomas Pedersen <thomas@adapt-ip.com>
+Date: Mon, 13 Jan 2020 21:59:40 -0800
+Subject: mac80211: add ieee80211_is_any_nullfunc()
+
+From: Thomas Pedersen <thomas@adapt-ip.com>
+
+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>
+
+---
+ include/linux/ieee80211.h | 9 +++++++++
+ net/mac80211/mlme.c | 2 +-
+ net/mac80211/rx.c | 8 +++-----
+ net/mac80211/status.c | 5 ++---
+ net/mac80211/tx.c | 2 +-
+ 5 files changed, 16 insertions(+), 10 deletions(-)
+
+--- a/include/linux/ieee80211.h
++++ b/include/linux/ieee80211.h
+@@ -620,6 +620,15 @@ static inline bool ieee80211_is_qos_null
+ }
+
+ /**
++ * ieee80211_is_any_nullfunc - check if frame is regular or QoS nullfunc frame
++ * @fc: frame control bytes in little-endian byteorder
++ */
++static inline bool ieee80211_is_any_nullfunc(__le16 fc)
++{
++ return (ieee80211_is_nullfunc(fc) || ieee80211_is_qos_nullfunc(fc));
++}
++
++/**
+ * ieee80211_is_bufferable_mmpdu - check if frame is bufferable MMPDU
+ * @fc: frame control field in little-endian byteorder
+ */
+--- a/net/mac80211/mlme.c
++++ b/net/mac80211/mlme.c
+@@ -2460,7 +2460,7 @@ void ieee80211_sta_tx_notify(struct ieee
+ if (!ieee80211_is_data(hdr->frame_control))
+ return;
+
+- if (ieee80211_is_nullfunc(hdr->frame_control) &&
++ if (ieee80211_is_any_nullfunc(hdr->frame_control) &&
+ sdata->u.mgd.probe_send_count > 0) {
+ if (ack)
+ ieee80211_sta_reset_conn_monitor(sdata);
+--- a/net/mac80211/rx.c
++++ b/net/mac80211/rx.c
+@@ -1450,8 +1450,7 @@ ieee80211_rx_h_check_dup(struct ieee8021
+ return RX_CONTINUE;
+
+ if (ieee80211_is_ctl(hdr->frame_control) ||
+- ieee80211_is_nullfunc(hdr->frame_control) ||
+- ieee80211_is_qos_nullfunc(hdr->frame_control) ||
++ ieee80211_is_any_nullfunc(hdr->frame_control) ||
+ is_multicast_ether_addr(hdr->addr1))
+ return RX_CONTINUE;
+
+@@ -1838,8 +1837,7 @@ ieee80211_rx_h_sta_process(struct ieee80
+ * Drop (qos-)data::nullfunc frames silently, since they
+ * are used only to control station power saving mode.
+ */
+- if (ieee80211_is_nullfunc(hdr->frame_control) ||
+- ieee80211_is_qos_nullfunc(hdr->frame_control)) {
++ if (ieee80211_is_any_nullfunc(hdr->frame_control)) {
+ I802_DEBUG_INC(rx->local->rx_handlers_drop_nullfunc);
+
+ /*
+@@ -2319,7 +2317,7 @@ static int ieee80211_drop_unencrypted(st
+
+ /* Drop unencrypted frames if key is set. */
+ if (unlikely(!ieee80211_has_protected(fc) &&
+- !ieee80211_is_nullfunc(fc) &&
++ !ieee80211_is_any_nullfunc(fc) &&
+ ieee80211_is_data(fc) && rx->key))
+ return -EACCES;
+
+--- a/net/mac80211/status.c
++++ b/net/mac80211/status.c
+@@ -643,8 +643,7 @@ static void ieee80211_report_ack_skb(str
+ rcu_read_lock();
+ sdata = ieee80211_sdata_from_skb(local, skb);
+ if (sdata) {
+- if (ieee80211_is_nullfunc(hdr->frame_control) ||
+- ieee80211_is_qos_nullfunc(hdr->frame_control))
++ if (ieee80211_is_any_nullfunc(hdr->frame_control))
+ cfg80211_probe_status(sdata->dev, hdr->addr1,
+ cookie, acked,
+ info->status.ack_signal,
+@@ -1030,7 +1029,7 @@ static void __ieee80211_tx_status(struct
+ I802_DEBUG_INC(local->dot11FailedCount);
+ }
+
+- if ((ieee80211_is_nullfunc(fc) || ieee80211_is_qos_nullfunc(fc)) &&
++ if (ieee80211_is_any_nullfunc(fc) &&
+ ieee80211_has_pm(fc) &&
+ ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS) &&
+ !(info->flags & IEEE80211_TX_CTL_INJECTED) &&
+--- a/net/mac80211/tx.c
++++ b/net/mac80211/tx.c
+@@ -297,7 +297,7 @@ ieee80211_tx_h_check_assoc(struct ieee80
+ if (unlikely(test_bit(SCAN_SW_SCANNING, &tx->local->scanning)) &&
+ test_bit(SDATA_STATE_OFFCHANNEL, &tx->sdata->state) &&
+ !ieee80211_is_probe_req(hdr->frame_control) &&
+- !ieee80211_is_nullfunc(hdr->frame_control))
++ !ieee80211_is_any_nullfunc(hdr->frame_control))
+ /*
+ * When software scanning only nullfunc frames (to notify
+ * the sleep state to the AP) and probe requests (for the
--- /dev/null
+From b2a84de2a2deb76a6a51609845341f508c518c03 Mon Sep 17 00:00:00 2001
+From: Will Deacon <will@kernel.org>
+Date: Wed, 25 Mar 2020 11:13:46 +0000
+Subject: mm/mremap: Add comment explaining the untagging behaviour of mremap()
+
+From: Will Deacon <will@kernel.org>
+
+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>
+
+---
+ mm/mremap.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/mm/mremap.c
++++ b/mm/mremap.c
+@@ -606,6 +606,16 @@ SYSCALL_DEFINE5(mremap, unsigned long, a
+ LIST_HEAD(uf_unmap_early);
+ LIST_HEAD(uf_unmap);
+
++ /*
++ * There is a deliberate asymmetry here: we strip the pointer tag
++ * from the old address but leave the new address alone. This is
++ * for consistency with mmap(), where we prevent the creation of
++ * aliasing mappings in userspace by leaving the tag bits of the
++ * mapping address intact. A non-zero tag will cause the subsequent
++ * range checks to reject the address as invalid.
++ *
++ * See Documentation/arm64/tagged-address-abi.rst for more information.
++ */
+ addr = untagged_addr(addr);
+
+ if (flags & ~(MREMAP_FIXED | MREMAP_MAYMOVE))
--- /dev/null
+From 1d6f8c5bac93cceb2d4ac8e6331050652004d802 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Fri, 6 Mar 2020 10:17:24 +0100
+Subject: platform/x86: GPD pocket fan: Fix error message when temp-limits are out of range
+
+From: Hans de Goede <hdegoede@redhat.com>
+
+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>
+
+---
+ drivers/platform/x86/gpd-pocket-fan.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/platform/x86/gpd-pocket-fan.c
++++ b/drivers/platform/x86/gpd-pocket-fan.c
+@@ -128,7 +128,7 @@ static int gpd_pocket_fan_probe(struct p
+
+ for (i = 0; i < ARRAY_SIZE(temp_limits); i++) {
+ if (temp_limits[i] < 20000 || temp_limits[i] > 90000) {
+- dev_err(&pdev->dev, "Invalid temp-limit %d (must be between 40000 and 70000)\n",
++ dev_err(&pdev->dev, "Invalid temp-limit %d (must be between 20000 and 90000)\n",
+ temp_limits[i]);
+ temp_limits[0] = TEMP_LIMIT0_DEFAULT;
+ temp_limits[1] = TEMP_LIMIT1_DEFAULT;
--- /dev/null
+From e1e047ace8cef6d143f38c7d769753f133becbe6 Mon Sep 17 00:00:00 2001
+From: Marek Szyprowski <m.szyprowski@samsung.com>
+Date: Tue, 12 Nov 2019 11:47:34 +0100
+Subject: PM / devfreq: Add missing locking while setting suspend_freq
+
+From: Marek Szyprowski <m.szyprowski@samsung.com>
+
+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>
+
+---
+ drivers/devfreq/devfreq.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/devfreq/devfreq.c
++++ b/drivers/devfreq/devfreq.c
+@@ -902,7 +902,9 @@ int devfreq_suspend_device(struct devfre
+ }
+
+ if (devfreq->suspend_freq) {
++ mutex_lock(&devfreq->lock);
+ ret = devfreq_set_target(devfreq, devfreq->suspend_freq, 0);
++ mutex_unlock(&devfreq->lock);
+ if (ret)
+ return ret;
+ }
+@@ -930,7 +932,9 @@ int devfreq_resume_device(struct devfreq
+ return 0;
+
+ if (devfreq->resume_freq) {
++ mutex_lock(&devfreq->lock);
+ ret = devfreq_set_target(devfreq, devfreq->resume_freq, 0);
++ mutex_unlock(&devfreq->lock);
+ if (ret)
+ return ret;
+ }
--- /dev/null
+From b73b7f48895a6a944a76a2d8cdd7feee72bb1f0b Mon Sep 17 00:00:00 2001
+From: Zhan Liu <Zhan.Liu@amd.com>
+Date: Mon, 4 Nov 2019 15:46:56 -0400
+Subject: Revert "drm/amd/display: setting the DIG_MODE to the correct value."
+
+From: Zhan Liu <Zhan.Liu@amd.com>
+
+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>
+
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_link.c | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+@@ -2768,15 +2768,6 @@ void core_link_enable_stream(
+ CONTROLLER_DP_TEST_PATTERN_VIDEOMODE,
+ COLOR_DEPTH_UNDEFINED);
+
+- /* This second call is needed to reconfigure the DIG
+- * as a workaround for the incorrect value being applied
+- * from transmitter control.
+- */
+- if (!dc_is_virtual_signal(pipe_ctx->stream->signal))
+- stream->link->link_enc->funcs->setup(
+- stream->link->link_enc,
+- pipe_ctx->stream->signal);
+-
+ #ifdef CONFIG_DRM_AMD_DC_DSC_SUPPORT
+ if (pipe_ctx->stream->timing.flags.DSC) {
+ if (dc_is_dp_signal(pipe_ctx->stream->signal) ||
alsa-hda-match-both-pci-id-and-ssid-for-driver-blacklist.patch
x86-kvm-fix-a-missing-prototypes-vmread_error.patch
dma-direct-exclude-dma_direct_map_resource-from-the-min_low_pfn-check.patch
+platform-x86-gpd-pocket-fan-fix-error-message-when-temp-limits-are-out-of-range.patch
+acpi-pm-s2idle-fix-comment-in-acpi_s2idle_prepare_late.patch
+mac80211-add-ieee80211_is_any_nullfunc.patch
+cgroup-netclassid-remove-double-cond_resched.patch
+libbpf-fix-readelf-output-parsing-for-fedora.patch
+mm-mremap-add-comment-explaining-the-untagging-behaviour-of-mremap.patch
+revert-drm-amd-display-setting-the-dig_mode-to-the-correct-value.patch
+tools-headers-uapi-sync-copy-of-arm64-s-asm-unistd.h-with-the-kernel-sources.patch
+udp-document-udp_rcv_segment-special-case-for-looped-packets.patch
+pm-devfreq-add-missing-locking-while-setting-suspend_freq.patch
--- /dev/null
+From c75bec79fc080039e4575a0f239ea7b111aabe88 Mon Sep 17 00:00:00 2001
+From: Arnaldo Carvalho de Melo <acme@redhat.com>
+Date: Tue, 11 Feb 2020 15:19:42 -0300
+Subject: tools headers UAPI: Sync copy of arm64's asm/unistd.h with the kernel sources
+
+From: Arnaldo Carvalho de Melo <acme@redhat.com>
+
+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>
+
+---
+ tools/arch/arm64/include/uapi/asm/unistd.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/tools/arch/arm64/include/uapi/asm/unistd.h
++++ b/tools/arch/arm64/include/uapi/asm/unistd.h
+@@ -19,5 +19,6 @@
+ #define __ARCH_WANT_NEW_STAT
+ #define __ARCH_WANT_SET_GET_RLIMIT
+ #define __ARCH_WANT_TIME32_SYSCALLS
++#define __ARCH_WANT_SYS_CLONE3
+
+ #include <asm-generic/unistd.h>
--- /dev/null
+From d0208bf4da97f76237300afb83c097de25645de6 Mon Sep 17 00:00:00 2001
+From: Willem de Bruijn <willemb@google.com>
+Date: Wed, 29 Jan 2020 15:20:17 -0500
+Subject: udp: document udp_rcv_segment special case for looped packets
+
+From: Willem de Bruijn <willemb@google.com>
+
+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>
+
+---
+ include/net/udp.h | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/include/net/udp.h
++++ b/include/net/udp.h
+@@ -476,6 +476,13 @@ static inline struct sk_buff *udp_rcv_se
+ if (!inet_get_convert_csum(sk))
+ features |= NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM;
+
++ /* UDP segmentation expects packets of type CHECKSUM_PARTIAL or
++ * CHECKSUM_NONE in __udp_gso_segment. UDP GRO indeed builds partial
++ * packets in udp_gro_complete_segment. As does UDP GSO, verified by
++ * udp_send_skb. But when those packets are looped in dev_loopback_xmit
++ * their ip_summed is set to CHECKSUM_UNNECESSARY. Reset in this
++ * specific case, where PARTIAL is both correct and required.
++ */
+ if (skb->pkt_type == PACKET_LOOPBACK)
+ skb->ip_summed = CHECKSUM_PARTIAL;
+