From: Greg Kroah-Hartman Date: Mon, 22 Nov 2021 11:34:07 +0000 (+0100) Subject: 5.10-stable patches X-Git-Tag: v5.15.5~64 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8051ba8e771d6d4643832d267f6204d2e2206c86;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: arm64-vdso32-suppress-error-message-for-make-mrproper.patch net-stmmac-dwmac-rk-fix-ethernet-on-rk3399-based-devices.patch tun-fix-bonding-active-backup-with-arp-monitoring.patch --- diff --git a/queue-5.10/arm64-vdso32-suppress-error-message-for-make-mrproper.patch b/queue-5.10/arm64-vdso32-suppress-error-message-for-make-mrproper.patch new file mode 100644 index 00000000000..7124e4934db --- /dev/null +++ b/queue-5.10/arm64-vdso32-suppress-error-message-for-make-mrproper.patch @@ -0,0 +1,48 @@ +From 14831fad73f5ac30ac61760487d95a538e6ab3cb Mon Sep 17 00:00:00 2001 +From: Nick Desaulniers +Date: Tue, 19 Oct 2021 15:36:45 -0700 +Subject: arm64: vdso32: suppress error message for 'make mrproper' + +From: Nick Desaulniers + +commit 14831fad73f5ac30ac61760487d95a538e6ab3cb upstream. + +When running the following command without arm-linux-gnueabi-gcc in +one's $PATH, the following warning is observed: + +$ ARCH=arm64 CROSS_COMPILE_COMPAT=arm-linux-gnueabi- make -j72 LLVM=1 mrproper +make[1]: arm-linux-gnueabi-gcc: No such file or directory + +This is because KCONFIG is not run for mrproper, so CONFIG_CC_IS_CLANG +is not set, and we end up eagerly evaluating various variables that try +to invoke CC_COMPAT. + +This is a similar problem to what was observed in +commit dc960bfeedb0 ("h8300: suppress error messages for 'make clean'") + +Reported-by: Lucas Henneman +Suggested-by: Masahiro Yamada +Signed-off-by: Nick Desaulniers +Reviewed-by: Vincenzo Frascino +Reviewed-by: Nathan Chancellor +Tested-by: Nathan Chancellor +Link: https://lore.kernel.org/r/20211019223646.1146945-4-ndesaulniers@google.com +Signed-off-by: Will Deacon +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm64/kernel/vdso32/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/arch/arm64/kernel/vdso32/Makefile ++++ b/arch/arm64/kernel/vdso32/Makefile +@@ -48,7 +48,8 @@ cc32-as-instr = $(call try-run,\ + # As a result we set our own flags here. + + # KBUILD_CPPFLAGS and NOSTDINC_FLAGS from top-level Makefile +-VDSO_CPPFLAGS := -D__KERNEL__ -nostdinc -isystem $(shell $(CC_COMPAT) -print-file-name=include) ++VDSO_CPPFLAGS := -D__KERNEL__ -nostdinc ++VDSO_CPPFLAGS += -isystem $(shell $(CC_COMPAT) -print-file-name=include 2>/dev/null) + VDSO_CPPFLAGS += $(LINUXINCLUDE) + + # Common C and assembly flags diff --git a/queue-5.10/net-stmmac-dwmac-rk-fix-ethernet-on-rk3399-based-devices.patch b/queue-5.10/net-stmmac-dwmac-rk-fix-ethernet-on-rk3399-based-devices.patch new file mode 100644 index 00000000000..65d36d3525d --- /dev/null +++ b/queue-5.10/net-stmmac-dwmac-rk-fix-ethernet-on-rk3399-based-devices.patch @@ -0,0 +1,58 @@ +From aec3f415f7244b7747a7952596971adb0df2f568 Mon Sep 17 00:00:00 2001 +From: Punit Agrawal +Date: Wed, 29 Sep 2021 22:50:49 +0900 +Subject: net: stmmac: dwmac-rk: Fix ethernet on rk3399 based devices + +From: Punit Agrawal + +commit aec3f415f7244b7747a7952596971adb0df2f568 upstream. + +Commit 2d26f6e39afb ("net: stmmac: dwmac-rk: fix unbalanced pm_runtime_enable warnings") +while getting rid of a runtime PM warning ended up breaking ethernet +on rk3399 based devices. By dropping an extra reference to the device, +the commit ends up enabling suspend / resume of the ethernet device - +which appears to be broken. + +While the issue with runtime pm is being investigated, partially +revert commit 2d26f6e39afb to restore the network on rk3399. + +Fixes: 2d26f6e39afb ("net: stmmac: dwmac-rk: fix unbalanced pm_runtime_enable warnings") +Suggested-by: Heiko Stuebner +Signed-off-by: Punit Agrawal +Cc: Michael Riesch +Tested-by: Heiko Stuebner +Link: https://lore.kernel.org/r/20210929135049.3426058-1-punitagrawal@gmail.com +Signed-off-by: Jakub Kicinski +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + + #include "stmmac_platform.h" + +@@ -1335,6 +1336,8 @@ static int rk_gmac_powerup(struct rk_pri + return ret; + } + ++ pm_runtime_get_sync(dev); ++ + if (bsp_priv->integrated_phy) + rk_gmac_integrated_phy_powerup(bsp_priv); + +@@ -1346,6 +1349,8 @@ static void rk_gmac_powerdown(struct rk_ + if (gmac->integrated_phy) + rk_gmac_integrated_phy_powerdown(gmac); + ++ pm_runtime_put_sync(&gmac->pdev->dev); ++ + phy_power_on(gmac, false); + gmac_clk_enable(gmac, false); + } diff --git a/queue-5.10/s390-kexec-fix-return-code-handling.patch b/queue-5.10/s390-kexec-fix-return-code-handling.patch index 8749f73225c..c72d130c4be 100644 --- a/queue-5.10/s390-kexec-fix-return-code-handling.patch +++ b/queue-5.10/s390-kexec-fix-return-code-handling.patch @@ -16,15 +16,13 @@ Fixes: 99feaa717e55 ("s390/kexec_file: Create ipl report and pass to next kernel Signed-off-by: Heiko Carstens Signed-off-by: Sasha Levin --- - arch/s390/kernel/ipl.c | 3 ++- - arch/s390/kernel/machine_kexec_file.c | 8 +++++++- + arch/s390/kernel/ipl.c | 3 ++- + arch/s390/kernel/machine_kexec_file.c | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) -diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c -index 98b3aca1de8e1..6da06905ddce5 100644 --- a/arch/s390/kernel/ipl.c +++ b/arch/s390/kernel/ipl.c -@@ -2156,7 +2156,7 @@ void *ipl_report_finish(struct ipl_report *report) +@@ -2156,7 +2156,7 @@ void *ipl_report_finish(struct ipl_repor buf = vzalloc(report->size); if (!buf) @@ -33,7 +31,7 @@ index 98b3aca1de8e1..6da06905ddce5 100644 ptr = buf; memcpy(ptr, report->ipib, report->ipib->hdr.len); -@@ -2195,6 +2195,7 @@ void *ipl_report_finish(struct ipl_report *report) +@@ -2195,6 +2195,7 @@ void *ipl_report_finish(struct ipl_repor } BUG_ON(ptr > buf + report->size); @@ -41,11 +39,9 @@ index 98b3aca1de8e1..6da06905ddce5 100644 return buf; } -diff --git a/arch/s390/kernel/machine_kexec_file.c b/arch/s390/kernel/machine_kexec_file.c -index f9e4baa64b675..c1090f0b1f6a6 100644 --- a/arch/s390/kernel/machine_kexec_file.c +++ b/arch/s390/kernel/machine_kexec_file.c -@@ -170,6 +170,7 @@ static int kexec_file_add_ipl_report(struct kimage *image, +@@ -170,6 +170,7 @@ static int kexec_file_add_ipl_report(str struct kexec_buf buf; unsigned long addr; void *ptr, *end; @@ -53,7 +49,7 @@ index f9e4baa64b675..c1090f0b1f6a6 100644 buf.image = image; -@@ -199,7 +200,10 @@ static int kexec_file_add_ipl_report(struct kimage *image, +@@ -199,7 +200,10 @@ static int kexec_file_add_ipl_report(str ptr += len; } @@ -64,7 +60,7 @@ index f9e4baa64b675..c1090f0b1f6a6 100644 buf.bufsz = data->report->size; buf.memsz = buf.bufsz; -@@ -209,7 +213,9 @@ static int kexec_file_add_ipl_report(struct kimage *image, +@@ -209,7 +213,9 @@ static int kexec_file_add_ipl_report(str data->kernel_buf + offsetof(struct lowcore, ipl_parmblock_ptr); *lc_ipl_parmblock_ptr = (__u32)buf.mem; @@ -75,6 +71,3 @@ index f9e4baa64b675..c1090f0b1f6a6 100644 } void *kexec_file_add_components(struct kimage *image, --- -2.33.0 - diff --git a/queue-5.10/series b/queue-5.10/series index 3a75a4ec047..3cf300017eb 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -117,3 +117,6 @@ pinctrl-qcom-sdm845-enable-dual-edge-errata.patch perf-x86-intel-uncore-fix-filter_tid-mask-for-cha-ev.patch perf-x86-intel-uncore-fix-iio-event-constraints-for-.patch s390-kexec-fix-return-code-handling.patch +net-stmmac-dwmac-rk-fix-ethernet-on-rk3399-based-devices.patch +arm64-vdso32-suppress-error-message-for-make-mrproper.patch +tun-fix-bonding-active-backup-with-arp-monitoring.patch diff --git a/queue-5.10/tun-fix-bonding-active-backup-with-arp-monitoring.patch b/queue-5.10/tun-fix-bonding-active-backup-with-arp-monitoring.patch new file mode 100644 index 00000000000..535cc0a3c25 --- /dev/null +++ b/queue-5.10/tun-fix-bonding-active-backup-with-arp-monitoring.patch @@ -0,0 +1,45 @@ +From a31d27fbed5d518734cb60956303eb15089a7634 Mon Sep 17 00:00:00 2001 +From: Nicolas Dichtel +Date: Fri, 12 Nov 2021 08:56:03 +0100 +Subject: tun: fix bonding active backup with arp monitoring + +From: Nicolas Dichtel + +commit a31d27fbed5d518734cb60956303eb15089a7634 upstream. + +As stated in the bonding doc, trans_start must be set manually for drivers +using NETIF_F_LLTX: + Drivers that use NETIF_F_LLTX flag must also update + netdev_queue->trans_start. If they do not, then the ARP monitor will + immediately fail any slaves using that driver, and those slaves will stay + down. + +Link: https://www.kernel.org/doc/html/v5.15/networking/bonding.html#arp-monitor-operation +Signed-off-by: Nicolas Dichtel +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/tun.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/net/tun.c ++++ b/drivers/net/tun.c +@@ -1021,6 +1021,7 @@ static netdev_tx_t tun_net_xmit(struct s + { + struct tun_struct *tun = netdev_priv(dev); + int txq = skb->queue_mapping; ++ struct netdev_queue *queue; + struct tun_file *tfile; + int len = skb->len; + +@@ -1065,6 +1066,10 @@ static netdev_tx_t tun_net_xmit(struct s + if (ptr_ring_produce(&tfile->tx_ring, skb)) + goto drop; + ++ /* NETIF_F_LLTX requires to do our own update of trans_start */ ++ queue = netdev_get_tx_queue(dev, txq); ++ queue->trans_start = jiffies; ++ + /* Notify and wake up reader process */ + if (tfile->flags & TUN_FASYNC) + kill_fasync(&tfile->fasync, SIGIO, POLL_IN);