From: Sasha Levin Date: Mon, 21 Feb 2022 04:50:50 +0000 (-0500) Subject: Fixes for 5.4 X-Git-Tag: v4.9.303~26^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4f95cc0b4d622cf58e52af67395575751e1acee2;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 5.4 Signed-off-by: Sasha Levin --- diff --git a/queue-5.4/arm-omap2-adjust-the-location-of-put_device-call-in-.patch b/queue-5.4/arm-omap2-adjust-the-location-of-put_device-call-in-.patch new file mode 100644 index 00000000000..ae3261ab18c --- /dev/null +++ b/queue-5.4/arm-omap2-adjust-the-location-of-put_device-call-in-.patch @@ -0,0 +1,43 @@ +From 8973e72315f1e36a14ba8e9e3cd37b4e2699eb88 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 16 Nov 2021 06:27:26 +0000 +Subject: ARM: OMAP2+: adjust the location of put_device() call in + omapdss_init_of + +From: Ye Guojin + +[ Upstream commit 34596ba380b03d181e24efd50e2f21045bde3696 ] + +This was found by coccicheck: +./arch/arm/mach-omap2/display.c, 272, 1-7, ERROR missing put_device; +call of_find_device_by_node on line 258, but without a corresponding +object release within this function. + +Move the put_device() call before the if judgment. + +Reported-by: Zeal Robot +Signed-off-by: Ye Guojin +Signed-off-by: Tony Lindgren +Signed-off-by: Sasha Levin +--- + arch/arm/mach-omap2/display.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c +index 46012ca812f48..1bd64f6ba8cfe 100644 +--- a/arch/arm/mach-omap2/display.c ++++ b/arch/arm/mach-omap2/display.c +@@ -263,9 +263,9 @@ static int __init omapdss_init_of(void) + } + + r = of_platform_populate(node, NULL, NULL, &pdev->dev); ++ put_device(&pdev->dev); + if (r) { + pr_err("Unable to populate DSS submodule devices\n"); +- put_device(&pdev->dev); + return r; + } + +-- +2.34.1 + diff --git a/queue-5.4/arm-omap2-adjust-the-location-of-put_device-call-in-.patch-6515 b/queue-5.4/arm-omap2-adjust-the-location-of-put_device-call-in-.patch-6515 new file mode 100644 index 00000000000..ae3261ab18c --- /dev/null +++ b/queue-5.4/arm-omap2-adjust-the-location-of-put_device-call-in-.patch-6515 @@ -0,0 +1,43 @@ +From 8973e72315f1e36a14ba8e9e3cd37b4e2699eb88 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 16 Nov 2021 06:27:26 +0000 +Subject: ARM: OMAP2+: adjust the location of put_device() call in + omapdss_init_of + +From: Ye Guojin + +[ Upstream commit 34596ba380b03d181e24efd50e2f21045bde3696 ] + +This was found by coccicheck: +./arch/arm/mach-omap2/display.c, 272, 1-7, ERROR missing put_device; +call of_find_device_by_node on line 258, but without a corresponding +object release within this function. + +Move the put_device() call before the if judgment. + +Reported-by: Zeal Robot +Signed-off-by: Ye Guojin +Signed-off-by: Tony Lindgren +Signed-off-by: Sasha Levin +--- + arch/arm/mach-omap2/display.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c +index 46012ca812f48..1bd64f6ba8cfe 100644 +--- a/arch/arm/mach-omap2/display.c ++++ b/arch/arm/mach-omap2/display.c +@@ -263,9 +263,9 @@ static int __init omapdss_init_of(void) + } + + r = of_platform_populate(node, NULL, NULL, &pdev->dev); ++ put_device(&pdev->dev); + if (r) { + pr_err("Unable to populate DSS submodule devices\n"); +- put_device(&pdev->dev); + return r; + } + +-- +2.34.1 + diff --git a/queue-5.4/arm-omap2-hwmod-add-of_node_put-before-break.patch b/queue-5.4/arm-omap2-hwmod-add-of_node_put-before-break.patch new file mode 100644 index 00000000000..6527b5a989e --- /dev/null +++ b/queue-5.4/arm-omap2-hwmod-add-of_node_put-before-break.patch @@ -0,0 +1,42 @@ +From b5c15aeead69fed5cd1c44f219c6290b6695f65b Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 14 Oct 2021 04:57:19 -0400 +Subject: ARM: OMAP2+: hwmod: Add of_node_put() before break + +From: Wan Jiabing + +[ Upstream commit 80c469a0a03763f814715f3d12b6f3964c7423e8 ] + +Fix following coccicheck warning: +./arch/arm/mach-omap2/omap_hwmod.c:753:1-23: WARNING: Function +for_each_matching_node should have of_node_put() before break + +Early exits from for_each_matching_node should decrement the +node reference counter. + +Signed-off-by: Wan Jiabing +Signed-off-by: Tony Lindgren +Signed-off-by: Sasha Levin +--- + arch/arm/mach-omap2/omap_hwmod.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c +index 6289b288d60a6..202b740adee0e 100644 +--- a/arch/arm/mach-omap2/omap_hwmod.c ++++ b/arch/arm/mach-omap2/omap_hwmod.c +@@ -782,8 +782,10 @@ static int __init _init_clkctrl_providers(void) + + for_each_matching_node(np, ti_clkctrl_match_table) { + ret = _setup_clkctrl_provider(np); +- if (ret) ++ if (ret) { ++ of_node_put(np); + break; ++ } + } + + return ret; +-- +2.34.1 + diff --git a/queue-5.4/arm-omap2-hwmod-add-of_node_put-before-break.patch-16842 b/queue-5.4/arm-omap2-hwmod-add-of_node_put-before-break.patch-16842 new file mode 100644 index 00000000000..6527b5a989e --- /dev/null +++ b/queue-5.4/arm-omap2-hwmod-add-of_node_put-before-break.patch-16842 @@ -0,0 +1,42 @@ +From b5c15aeead69fed5cd1c44f219c6290b6695f65b Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 14 Oct 2021 04:57:19 -0400 +Subject: ARM: OMAP2+: hwmod: Add of_node_put() before break + +From: Wan Jiabing + +[ Upstream commit 80c469a0a03763f814715f3d12b6f3964c7423e8 ] + +Fix following coccicheck warning: +./arch/arm/mach-omap2/omap_hwmod.c:753:1-23: WARNING: Function +for_each_matching_node should have of_node_put() before break + +Early exits from for_each_matching_node should decrement the +node reference counter. + +Signed-off-by: Wan Jiabing +Signed-off-by: Tony Lindgren +Signed-off-by: Sasha Levin +--- + arch/arm/mach-omap2/omap_hwmod.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c +index 6289b288d60a6..202b740adee0e 100644 +--- a/arch/arm/mach-omap2/omap_hwmod.c ++++ b/arch/arm/mach-omap2/omap_hwmod.c +@@ -782,8 +782,10 @@ static int __init _init_clkctrl_providers(void) + + for_each_matching_node(np, ti_clkctrl_match_table) { + ret = _setup_clkctrl_provider(np); +- if (ret) ++ if (ret) { ++ of_node_put(np); + break; ++ } + } + + return ret; +-- +2.34.1 + diff --git a/queue-5.4/arm64-dts-meson-g12-add-atf-bl32-reserved-memory-reg.patch b/queue-5.4/arm64-dts-meson-g12-add-atf-bl32-reserved-memory-reg.patch new file mode 100644 index 00000000000..6e60f9179aa --- /dev/null +++ b/queue-5.4/arm64-dts-meson-g12-add-atf-bl32-reserved-memory-reg.patch @@ -0,0 +1,42 @@ +From 02ab419fbbeed211b66258714e2095f6c257fdcf Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 26 Jan 2022 04:49:53 +0000 +Subject: arm64: dts: meson-g12: add ATF BL32 reserved-memory region + +From: Christian Hewitt + +[ Upstream commit 08982a1b3aa2611c9c711d24825c9002d28536f4 ] + +Add an additional reserved memory region for the BL32 trusted firmware +present in many devices that boot from Amlogic vendor u-boot. + +Signed-off-by: Christian Hewitt +Reviewed-by: Neil Armstrong +Reviewed-by: Kevin Hilman +Signed-off-by: Neil Armstrong +Link: https://lore.kernel.org/r/20220126044954.19069-3-christianshewitt@gmail.com +Signed-off-by: Sasha Levin +--- + arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +index 9533c85fb0a30..d2d255a988a81 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +@@ -76,6 +76,12 @@ secmon_reserved: secmon@5000000 { + no-map; + }; + ++ /* 32 MiB reserved for ARM Trusted Firmware (BL32) */ ++ secmon_reserved_bl32: secmon@5300000 { ++ reg = <0x0 0x05300000 0x0 0x2000000>; ++ no-map; ++ }; ++ + linux,cma { + compatible = "shared-dma-pool"; + reusable; +-- +2.34.1 + diff --git a/queue-5.4/arm64-dts-meson-g12-add-atf-bl32-reserved-memory-reg.patch-20818 b/queue-5.4/arm64-dts-meson-g12-add-atf-bl32-reserved-memory-reg.patch-20818 new file mode 100644 index 00000000000..6e60f9179aa --- /dev/null +++ b/queue-5.4/arm64-dts-meson-g12-add-atf-bl32-reserved-memory-reg.patch-20818 @@ -0,0 +1,42 @@ +From 02ab419fbbeed211b66258714e2095f6c257fdcf Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 26 Jan 2022 04:49:53 +0000 +Subject: arm64: dts: meson-g12: add ATF BL32 reserved-memory region + +From: Christian Hewitt + +[ Upstream commit 08982a1b3aa2611c9c711d24825c9002d28536f4 ] + +Add an additional reserved memory region for the BL32 trusted firmware +present in many devices that boot from Amlogic vendor u-boot. + +Signed-off-by: Christian Hewitt +Reviewed-by: Neil Armstrong +Reviewed-by: Kevin Hilman +Signed-off-by: Neil Armstrong +Link: https://lore.kernel.org/r/20220126044954.19069-3-christianshewitt@gmail.com +Signed-off-by: Sasha Levin +--- + arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +index 9533c85fb0a30..d2d255a988a81 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +@@ -76,6 +76,12 @@ secmon_reserved: secmon@5000000 { + no-map; + }; + ++ /* 32 MiB reserved for ARM Trusted Firmware (BL32) */ ++ secmon_reserved_bl32: secmon@5300000 { ++ reg = <0x0 0x05300000 0x0 0x2000000>; ++ no-map; ++ }; ++ + linux,cma { + compatible = "shared-dma-pool"; + reusable; +-- +2.34.1 + diff --git a/queue-5.4/arm64-dts-meson-g12-drop-bl32-region-from-sei510-sei.patch b/queue-5.4/arm64-dts-meson-g12-drop-bl32-region-from-sei510-sei.patch new file mode 100644 index 00000000000..bd27f41a253 --- /dev/null +++ b/queue-5.4/arm64-dts-meson-g12-drop-bl32-region-from-sei510-sei.patch @@ -0,0 +1,64 @@ +From e3db9ac1c844370db9dd9c11d0bf5b9f2084cfba Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 26 Jan 2022 04:49:54 +0000 +Subject: arm64: dts: meson-g12: drop BL32 region from SEI510/SEI610 + +From: Christian Hewitt + +[ Upstream commit f26573e2bc9dfd551a0d5c6971f18cc546543312 ] + +The BL32/TEE reserved-memory region is now inherited from the common +family dtsi (meson-g12-common) so we can drop it from board files. + +Signed-off-by: Christian Hewitt +Reviewed-by: Neil Armstrong +Reviewed-by: Kevin Hilman +Signed-off-by: Neil Armstrong +Link: https://lore.kernel.org/r/20220126044954.19069-4-christianshewitt@gmail.com +Signed-off-by: Sasha Levin +--- + arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts | 8 -------- + arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts | 8 -------- + 2 files changed, 16 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts +index b8d9e92197ac8..c76bf498ee388 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts +@@ -157,14 +157,6 @@ vddio_ao1v8: regulator-vddio_ao1v8 { + regulator-always-on; + }; + +- reserved-memory { +- /* TEE Reserved Memory */ +- bl32_reserved: bl32@5000000 { +- reg = <0x0 0x05300000 0x0 0x2000000>; +- no-map; +- }; +- }; +- + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts +index 29ac78ddc057e..85fb59060cdff 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts +@@ -164,14 +164,6 @@ vddio_ao1v8: regulator-vddio_ao1v8 { + regulator-always-on; + }; + +- reserved-memory { +- /* TEE Reserved Memory */ +- bl32_reserved: bl32@5000000 { +- reg = <0x0 0x05300000 0x0 0x2000000>; +- no-map; +- }; +- }; +- + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; +-- +2.34.1 + diff --git a/queue-5.4/arm64-dts-meson-g12-drop-bl32-region-from-sei510-sei.patch-31989 b/queue-5.4/arm64-dts-meson-g12-drop-bl32-region-from-sei510-sei.patch-31989 new file mode 100644 index 00000000000..bd27f41a253 --- /dev/null +++ b/queue-5.4/arm64-dts-meson-g12-drop-bl32-region-from-sei510-sei.patch-31989 @@ -0,0 +1,64 @@ +From e3db9ac1c844370db9dd9c11d0bf5b9f2084cfba Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 26 Jan 2022 04:49:54 +0000 +Subject: arm64: dts: meson-g12: drop BL32 region from SEI510/SEI610 + +From: Christian Hewitt + +[ Upstream commit f26573e2bc9dfd551a0d5c6971f18cc546543312 ] + +The BL32/TEE reserved-memory region is now inherited from the common +family dtsi (meson-g12-common) so we can drop it from board files. + +Signed-off-by: Christian Hewitt +Reviewed-by: Neil Armstrong +Reviewed-by: Kevin Hilman +Signed-off-by: Neil Armstrong +Link: https://lore.kernel.org/r/20220126044954.19069-4-christianshewitt@gmail.com +Signed-off-by: Sasha Levin +--- + arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts | 8 -------- + arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts | 8 -------- + 2 files changed, 16 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts +index b8d9e92197ac8..c76bf498ee388 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts +@@ -157,14 +157,6 @@ vddio_ao1v8: regulator-vddio_ao1v8 { + regulator-always-on; + }; + +- reserved-memory { +- /* TEE Reserved Memory */ +- bl32_reserved: bl32@5000000 { +- reg = <0x0 0x05300000 0x0 0x2000000>; +- no-map; +- }; +- }; +- + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts +index 29ac78ddc057e..85fb59060cdff 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts +@@ -164,14 +164,6 @@ vddio_ao1v8: regulator-vddio_ao1v8 { + regulator-always-on; + }; + +- reserved-memory { +- /* TEE Reserved Memory */ +- bl32_reserved: bl32@5000000 { +- reg = <0x0 0x05300000 0x0 0x2000000>; +- no-map; +- }; +- }; +- + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; +-- +2.34.1 + diff --git a/queue-5.4/arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch b/queue-5.4/arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch new file mode 100644 index 00000000000..741e75e229d --- /dev/null +++ b/queue-5.4/arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch @@ -0,0 +1,43 @@ +From ff257614c88823ce6bb650b518cb58b0fb0922d5 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 26 Jan 2022 04:49:52 +0000 +Subject: arm64: dts: meson-gx: add ATF BL32 reserved-memory region + +From: Christian Hewitt + +[ Upstream commit 76577c9137456febb05b0e17d244113196a98968 ] + +Add an additional reserved memory region for the BL32 trusted firmware +present in many devices that boot from Amlogic vendor u-boot. + +Suggested-by: Mateusz Krzak +Signed-off-by: Christian Hewitt +Reviewed-by: Neil Armstrong +Reviewed-by: Kevin Hilman +Signed-off-by: Neil Armstrong +Link: https://lore.kernel.org/r/20220126044954.19069-2-christianshewitt@gmail.com +Signed-off-by: Sasha Levin +--- + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +index ce230d6ac35cd..ad7bc0eec6682 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +@@ -41,6 +41,12 @@ secmon_reserved_alt: secmon@5000000 { + no-map; + }; + ++ /* 32 MiB reserved for ARM Trusted Firmware (BL32) */ ++ secmon_reserved_bl32: secmon@5300000 { ++ reg = <0x0 0x05300000 0x0 0x2000000>; ++ no-map; ++ }; ++ + linux,cma { + compatible = "shared-dma-pool"; + reusable; +-- +2.34.1 + diff --git a/queue-5.4/arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch-1924 b/queue-5.4/arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch-1924 new file mode 100644 index 00000000000..741e75e229d --- /dev/null +++ b/queue-5.4/arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch-1924 @@ -0,0 +1,43 @@ +From ff257614c88823ce6bb650b518cb58b0fb0922d5 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 26 Jan 2022 04:49:52 +0000 +Subject: arm64: dts: meson-gx: add ATF BL32 reserved-memory region + +From: Christian Hewitt + +[ Upstream commit 76577c9137456febb05b0e17d244113196a98968 ] + +Add an additional reserved memory region for the BL32 trusted firmware +present in many devices that boot from Amlogic vendor u-boot. + +Suggested-by: Mateusz Krzak +Signed-off-by: Christian Hewitt +Reviewed-by: Neil Armstrong +Reviewed-by: Kevin Hilman +Signed-off-by: Neil Armstrong +Link: https://lore.kernel.org/r/20220126044954.19069-2-christianshewitt@gmail.com +Signed-off-by: Sasha Levin +--- + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +index ce230d6ac35cd..ad7bc0eec6682 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +@@ -41,6 +41,12 @@ secmon_reserved_alt: secmon@5000000 { + no-map; + }; + ++ /* 32 MiB reserved for ARM Trusted Firmware (BL32) */ ++ secmon_reserved_bl32: secmon@5300000 { ++ reg = <0x0 0x05300000 0x0 0x2000000>; ++ no-map; ++ }; ++ + linux,cma { + compatible = "shared-dma-pool"; + reusable; +-- +2.34.1 + diff --git a/queue-5.4/ata-libata-core-disable-trim-on-m88v29.patch b/queue-5.4/ata-libata-core-disable-trim-on-m88v29.patch new file mode 100644 index 00000000000..a6a6963309a --- /dev/null +++ b/queue-5.4/ata-libata-core-disable-trim-on-m88v29.patch @@ -0,0 +1,43 @@ +From f4e2a809c43a285114242d7c4a07188734c4bde9 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 4 Feb 2022 13:57:50 +0100 +Subject: ata: libata-core: Disable TRIM on M88V29 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Zoltán Böszörményi + +[ Upstream commit c8ea23d5fa59f28302d4e3370c75d9c308e64410 ] + +This device is a CF card, or possibly an SSD in CF form factor. +It supports NCQ and high speed DMA. + +While it also advertises TRIM support, I/O errors are reported +when the discard mount option fstrim is used. TRIM also fails +when disabling NCQ and not just as an NCQ command. + +TRIM must be disabled for this device. + +Signed-off-by: Zoltán Böszörményi +Signed-off-by: Damien Le Moal +Signed-off-by: Sasha Levin +--- + drivers/ata/libata-core.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c +index 92fb1f5b240e8..dca1590f295d0 100644 +--- a/drivers/ata/libata-core.c ++++ b/drivers/ata/libata-core.c +@@ -4595,6 +4595,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = { + + /* devices that don't properly handle TRIM commands */ + { "SuperSSpeed S238*", NULL, ATA_HORKAGE_NOTRIM, }, ++ { "M88V29*", NULL, ATA_HORKAGE_NOTRIM, }, + + /* + * As defined, the DRAT (Deterministic Read After Trim) and RZAT +-- +2.34.1 + diff --git a/queue-5.4/ata-libata-core-disable-trim-on-m88v29.patch-31131 b/queue-5.4/ata-libata-core-disable-trim-on-m88v29.patch-31131 new file mode 100644 index 00000000000..a6a6963309a --- /dev/null +++ b/queue-5.4/ata-libata-core-disable-trim-on-m88v29.patch-31131 @@ -0,0 +1,43 @@ +From f4e2a809c43a285114242d7c4a07188734c4bde9 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 4 Feb 2022 13:57:50 +0100 +Subject: ata: libata-core: Disable TRIM on M88V29 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Zoltán Böszörményi + +[ Upstream commit c8ea23d5fa59f28302d4e3370c75d9c308e64410 ] + +This device is a CF card, or possibly an SSD in CF form factor. +It supports NCQ and high speed DMA. + +While it also advertises TRIM support, I/O errors are reported +when the discard mount option fstrim is used. TRIM also fails +when disabling NCQ and not just as an NCQ command. + +TRIM must be disabled for this device. + +Signed-off-by: Zoltán Böszörményi +Signed-off-by: Damien Le Moal +Signed-off-by: Sasha Levin +--- + drivers/ata/libata-core.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c +index 92fb1f5b240e8..dca1590f295d0 100644 +--- a/drivers/ata/libata-core.c ++++ b/drivers/ata/libata-core.c +@@ -4595,6 +4595,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = { + + /* devices that don't properly handle TRIM commands */ + { "SuperSSpeed S238*", NULL, ATA_HORKAGE_NOTRIM, }, ++ { "M88V29*", NULL, ATA_HORKAGE_NOTRIM, }, + + /* + * As defined, the DRAT (Deterministic Read After Trim) and RZAT +-- +2.34.1 + diff --git a/queue-5.4/drm-rockchip-dw_hdmi-do-not-leave-clock-enabled-in-e.patch b/queue-5.4/drm-rockchip-dw_hdmi-do-not-leave-clock-enabled-in-e.patch new file mode 100644 index 00000000000..4376d97ad00 --- /dev/null +++ b/queue-5.4/drm-rockchip-dw_hdmi-do-not-leave-clock-enabled-in-e.patch @@ -0,0 +1,56 @@ +From 0795ace31e1be4754261544f06aeaf95c05c28b9 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 26 Jan 2022 15:55:24 +0100 +Subject: drm/rockchip: dw_hdmi: Do not leave clock enabled in error case + +From: Sascha Hauer + +[ Upstream commit c0cfbb122275da1b726481de5a8cffeb24e6322b ] + +The driver returns an error when devm_phy_optional_get() fails leaving +the previously enabled clock turned on. Change order and enable the +clock only after the phy has been acquired. + +Signed-off-by: Sascha Hauer +Signed-off-by: Heiko Stuebner +Link: https://patchwork.freedesktop.org/patch/msgid/20220126145549.617165-3-s.hauer@pengutronix.de +Signed-off-by: Sasha Levin +--- + drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +index 906891b03a38d..7805091bac32d 100644 +--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c ++++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +@@ -528,13 +528,6 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master, + return ret; + } + +- ret = clk_prepare_enable(hdmi->vpll_clk); +- if (ret) { +- DRM_DEV_ERROR(hdmi->dev, "Failed to enable HDMI vpll: %d\n", +- ret); +- return ret; +- } +- + hdmi->phy = devm_phy_optional_get(dev, "hdmi"); + if (IS_ERR(hdmi->phy)) { + ret = PTR_ERR(hdmi->phy); +@@ -543,6 +536,13 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master, + return ret; + } + ++ ret = clk_prepare_enable(hdmi->vpll_clk); ++ if (ret) { ++ DRM_DEV_ERROR(hdmi->dev, "Failed to enable HDMI vpll: %d\n", ++ ret); ++ return ret; ++ } ++ + drm_encoder_helper_add(encoder, &dw_hdmi_rockchip_encoder_helper_funcs); + drm_encoder_init(drm, encoder, &dw_hdmi_rockchip_encoder_funcs, + DRM_MODE_ENCODER_TMDS, NULL); +-- +2.34.1 + diff --git a/queue-5.4/drm-rockchip-dw_hdmi-do-not-leave-clock-enabled-in-e.patch-11884 b/queue-5.4/drm-rockchip-dw_hdmi-do-not-leave-clock-enabled-in-e.patch-11884 new file mode 100644 index 00000000000..4376d97ad00 --- /dev/null +++ b/queue-5.4/drm-rockchip-dw_hdmi-do-not-leave-clock-enabled-in-e.patch-11884 @@ -0,0 +1,56 @@ +From 0795ace31e1be4754261544f06aeaf95c05c28b9 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 26 Jan 2022 15:55:24 +0100 +Subject: drm/rockchip: dw_hdmi: Do not leave clock enabled in error case + +From: Sascha Hauer + +[ Upstream commit c0cfbb122275da1b726481de5a8cffeb24e6322b ] + +The driver returns an error when devm_phy_optional_get() fails leaving +the previously enabled clock turned on. Change order and enable the +clock only after the phy has been acquired. + +Signed-off-by: Sascha Hauer +Signed-off-by: Heiko Stuebner +Link: https://patchwork.freedesktop.org/patch/msgid/20220126145549.617165-3-s.hauer@pengutronix.de +Signed-off-by: Sasha Levin +--- + drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +index 906891b03a38d..7805091bac32d 100644 +--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c ++++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +@@ -528,13 +528,6 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master, + return ret; + } + +- ret = clk_prepare_enable(hdmi->vpll_clk); +- if (ret) { +- DRM_DEV_ERROR(hdmi->dev, "Failed to enable HDMI vpll: %d\n", +- ret); +- return ret; +- } +- + hdmi->phy = devm_phy_optional_get(dev, "hdmi"); + if (IS_ERR(hdmi->phy)) { + ret = PTR_ERR(hdmi->phy); +@@ -543,6 +536,13 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master, + return ret; + } + ++ ret = clk_prepare_enable(hdmi->vpll_clk); ++ if (ret) { ++ DRM_DEV_ERROR(hdmi->dev, "Failed to enable HDMI vpll: %d\n", ++ ret); ++ return ret; ++ } ++ + drm_encoder_helper_add(encoder, &dw_hdmi_rockchip_encoder_helper_funcs); + drm_encoder_init(drm, encoder, &dw_hdmi_rockchip_encoder_funcs, + DRM_MODE_ENCODER_TMDS, NULL); +-- +2.34.1 + diff --git a/queue-5.4/irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch b/queue-5.4/irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch new file mode 100644 index 00000000000..2e74baf12f6 --- /dev/null +++ b/queue-5.4/irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch @@ -0,0 +1,49 @@ +From 92e5eea8ec6990eff9e7dd343109393d7362fed1 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Sun, 30 Jan 2022 21:56:34 +0800 +Subject: irqchip/sifive-plic: Add missing thead,c900-plic match string + +From: Guo Ren + +[ Upstream commit 1d4df649cbb4b26d19bea38ecff4b65b10a1bbca ] + +The thead,c900-plic has been used in opensbi to distinguish +PLIC [1]. Although PLICs have the same behaviors in Linux, +they are different hardware with some custom initializing in +firmware(opensbi). + +Qute opensbi patch commit-msg by Samuel: + + The T-HEAD PLIC implementation requires setting a delegation bit + to allow access from S-mode. Now that the T-HEAD PLIC has its own + compatible string, set this bit automatically from the PLIC driver, + instead of reaching into the PLIC's MMIO space from another driver. + +[1]: https://github.com/riscv-software-src/opensbi/commit/78c2b19218bd62653b9fb31623a42ced45f38ea6 + +Signed-off-by: Guo Ren +Cc: Anup Patel +Cc: Marc Zyngier +Cc: Palmer Dabbelt +Cc: Samuel Holland +Cc: Thomas Gleixner +Tested-by: Samuel Holland +Signed-off-by: Marc Zyngier +Link: https://lore.kernel.org/r/20220130135634.1213301-3-guoren@kernel.org +Signed-off-by: Sasha Levin +--- + drivers/irqchip/irq-sifive-plic.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/irqchip/irq-sifive-plic.c b/drivers/irqchip/irq-sifive-plic.c +index 7cd7b140dfe97..9dad45d928bfe 100644 +--- a/drivers/irqchip/irq-sifive-plic.c ++++ b/drivers/irqchip/irq-sifive-plic.c +@@ -313,3 +313,4 @@ static int __init plic_init(struct device_node *node, + + IRQCHIP_DECLARE(sifive_plic, "sifive,plic-1.0.0", plic_init); + IRQCHIP_DECLARE(riscv_plic0, "riscv,plic0", plic_init); /* for legacy systems */ ++IRQCHIP_DECLARE(thead_c900_plic, "thead,c900-plic", plic_init); /* for firmware driver */ +-- +2.34.1 + diff --git a/queue-5.4/irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch-14951 b/queue-5.4/irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch-14951 new file mode 100644 index 00000000000..2e74baf12f6 --- /dev/null +++ b/queue-5.4/irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch-14951 @@ -0,0 +1,49 @@ +From 92e5eea8ec6990eff9e7dd343109393d7362fed1 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Sun, 30 Jan 2022 21:56:34 +0800 +Subject: irqchip/sifive-plic: Add missing thead,c900-plic match string + +From: Guo Ren + +[ Upstream commit 1d4df649cbb4b26d19bea38ecff4b65b10a1bbca ] + +The thead,c900-plic has been used in opensbi to distinguish +PLIC [1]. Although PLICs have the same behaviors in Linux, +they are different hardware with some custom initializing in +firmware(opensbi). + +Qute opensbi patch commit-msg by Samuel: + + The T-HEAD PLIC implementation requires setting a delegation bit + to allow access from S-mode. Now that the T-HEAD PLIC has its own + compatible string, set this bit automatically from the PLIC driver, + instead of reaching into the PLIC's MMIO space from another driver. + +[1]: https://github.com/riscv-software-src/opensbi/commit/78c2b19218bd62653b9fb31623a42ced45f38ea6 + +Signed-off-by: Guo Ren +Cc: Anup Patel +Cc: Marc Zyngier +Cc: Palmer Dabbelt +Cc: Samuel Holland +Cc: Thomas Gleixner +Tested-by: Samuel Holland +Signed-off-by: Marc Zyngier +Link: https://lore.kernel.org/r/20220130135634.1213301-3-guoren@kernel.org +Signed-off-by: Sasha Levin +--- + drivers/irqchip/irq-sifive-plic.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/irqchip/irq-sifive-plic.c b/drivers/irqchip/irq-sifive-plic.c +index 7cd7b140dfe97..9dad45d928bfe 100644 +--- a/drivers/irqchip/irq-sifive-plic.c ++++ b/drivers/irqchip/irq-sifive-plic.c +@@ -313,3 +313,4 @@ static int __init plic_init(struct device_node *node, + + IRQCHIP_DECLARE(sifive_plic, "sifive,plic-1.0.0", plic_init); + IRQCHIP_DECLARE(riscv_plic0, "riscv,plic0", plic_init); /* for legacy systems */ ++IRQCHIP_DECLARE(thead_c900_plic, "thead,c900-plic", plic_init); /* for firmware driver */ +-- +2.34.1 + diff --git a/queue-5.4/kconfig-fix-failing-to-generate-auto.conf.patch b/queue-5.4/kconfig-fix-failing-to-generate-auto.conf.patch new file mode 100644 index 00000000000..05c8e270a4e --- /dev/null +++ b/queue-5.4/kconfig-fix-failing-to-generate-auto.conf.patch @@ -0,0 +1,52 @@ +From dcf790bd5ba55e90ae21506f17baf5e1445013ca Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 11 Feb 2022 17:27:36 +0800 +Subject: kconfig: fix failing to generate auto.conf + +From: Jing Leng + +[ Upstream commit 1b9e740a81f91ae338b29ed70455719804957b80 ] + +When the KCONFIG_AUTOCONFIG is specified (e.g. export \ +KCONFIG_AUTOCONFIG=output/config/auto.conf), the directory of +include/config/ will not be created, so kconfig can't create deps +files in it and auto.conf can't be generated. + +Signed-off-by: Jing Leng +Signed-off-by: Masahiro Yamada +Signed-off-by: Sasha Levin +--- + scripts/kconfig/confdata.c | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c +index 17298239e3633..5c2493c8e9de8 100644 +--- a/scripts/kconfig/confdata.c ++++ b/scripts/kconfig/confdata.c +@@ -987,14 +987,19 @@ static int conf_write_dep(const char *name) + + static int conf_touch_deps(void) + { +- const char *name; ++ const char *name, *tmp; + struct symbol *sym; + int res, i; + +- strcpy(depfile_path, "include/config/"); +- depfile_prefix_len = strlen(depfile_path); +- + name = conf_get_autoconfig_name(); ++ tmp = strrchr(name, '/'); ++ depfile_prefix_len = tmp ? tmp - name + 1 : 0; ++ if (depfile_prefix_len + 1 > sizeof(depfile_path)) ++ return -1; ++ ++ strncpy(depfile_path, name, depfile_prefix_len); ++ depfile_path[depfile_prefix_len] = 0; ++ + conf_read_simple(name, S_DEF_AUTO); + sym_calc_value(modules_sym); + +-- +2.34.1 + diff --git a/queue-5.4/kconfig-fix-failing-to-generate-auto.conf.patch-15744 b/queue-5.4/kconfig-fix-failing-to-generate-auto.conf.patch-15744 new file mode 100644 index 00000000000..05c8e270a4e --- /dev/null +++ b/queue-5.4/kconfig-fix-failing-to-generate-auto.conf.patch-15744 @@ -0,0 +1,52 @@ +From dcf790bd5ba55e90ae21506f17baf5e1445013ca Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 11 Feb 2022 17:27:36 +0800 +Subject: kconfig: fix failing to generate auto.conf + +From: Jing Leng + +[ Upstream commit 1b9e740a81f91ae338b29ed70455719804957b80 ] + +When the KCONFIG_AUTOCONFIG is specified (e.g. export \ +KCONFIG_AUTOCONFIG=output/config/auto.conf), the directory of +include/config/ will not be created, so kconfig can't create deps +files in it and auto.conf can't be generated. + +Signed-off-by: Jing Leng +Signed-off-by: Masahiro Yamada +Signed-off-by: Sasha Levin +--- + scripts/kconfig/confdata.c | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c +index 17298239e3633..5c2493c8e9de8 100644 +--- a/scripts/kconfig/confdata.c ++++ b/scripts/kconfig/confdata.c +@@ -987,14 +987,19 @@ static int conf_write_dep(const char *name) + + static int conf_touch_deps(void) + { +- const char *name; ++ const char *name, *tmp; + struct symbol *sym; + int res, i; + +- strcpy(depfile_path, "include/config/"); +- depfile_prefix_len = strlen(depfile_path); +- + name = conf_get_autoconfig_name(); ++ tmp = strrchr(name, '/'); ++ depfile_prefix_len = tmp ? tmp - name + 1 : 0; ++ if (depfile_prefix_len + 1 > sizeof(depfile_path)) ++ return -1; ++ ++ strncpy(depfile_path, name, depfile_prefix_len); ++ depfile_path[depfile_prefix_len] = 0; ++ + conf_read_simple(name, S_DEF_AUTO); + sym_calc_value(modules_sym); + +-- +2.34.1 + diff --git a/queue-5.4/kconfig-let-shell-return-enough-output-for-deep-path.patch b/queue-5.4/kconfig-let-shell-return-enough-output-for-deep-path.patch new file mode 100644 index 00000000000..8a2af863e07 --- /dev/null +++ b/queue-5.4/kconfig-let-shell-return-enough-output-for-deep-path.patch @@ -0,0 +1,43 @@ +From fb87457b03b9efe18b05aa0c7c9626bcc5b46a4f Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 28 Jan 2022 16:01:28 -0600 +Subject: kconfig: let 'shell' return enough output for deep path names + +From: Brenda Streiff + +[ Upstream commit 8a4c5b2a6d8ea079fa36034e8167de87ab6f8880 ] + +The 'shell' built-in only returns the first 256 bytes of the command's +output. In some cases, 'shell' is used to return a path; by bumping up +the buffer size to 4096 this lets us capture up to PATH_MAX. + +The specific case where I ran into this was due to commit 1e860048c53e +("gcc-plugins: simplify GCC plugin-dev capability test"). After this +change, we now use `$(shell,$(CC) -print-file-name=plugin)` to return +a path; if the gcc path is particularly long, then the path ends up +truncated at the 256 byte mark, which makes the HAVE_GCC_PLUGINS +depends test always fail. + +Signed-off-by: Brenda Streiff +Signed-off-by: Masahiro Yamada +Signed-off-by: Sasha Levin +--- + scripts/kconfig/preprocess.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/kconfig/preprocess.c b/scripts/kconfig/preprocess.c +index 0590f86df6e40..748da578b418c 100644 +--- a/scripts/kconfig/preprocess.c ++++ b/scripts/kconfig/preprocess.c +@@ -141,7 +141,7 @@ static char *do_lineno(int argc, char *argv[]) + static char *do_shell(int argc, char *argv[]) + { + FILE *p; +- char buf[256]; ++ char buf[4096]; + char *cmd; + size_t nread; + int i; +-- +2.34.1 + diff --git a/queue-5.4/kconfig-let-shell-return-enough-output-for-deep-path.patch-17862 b/queue-5.4/kconfig-let-shell-return-enough-output-for-deep-path.patch-17862 new file mode 100644 index 00000000000..8a2af863e07 --- /dev/null +++ b/queue-5.4/kconfig-let-shell-return-enough-output-for-deep-path.patch-17862 @@ -0,0 +1,43 @@ +From fb87457b03b9efe18b05aa0c7c9626bcc5b46a4f Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 28 Jan 2022 16:01:28 -0600 +Subject: kconfig: let 'shell' return enough output for deep path names + +From: Brenda Streiff + +[ Upstream commit 8a4c5b2a6d8ea079fa36034e8167de87ab6f8880 ] + +The 'shell' built-in only returns the first 256 bytes of the command's +output. In some cases, 'shell' is used to return a path; by bumping up +the buffer size to 4096 this lets us capture up to PATH_MAX. + +The specific case where I ran into this was due to commit 1e860048c53e +("gcc-plugins: simplify GCC plugin-dev capability test"). After this +change, we now use `$(shell,$(CC) -print-file-name=plugin)` to return +a path; if the gcc path is particularly long, then the path ends up +truncated at the 256 byte mark, which makes the HAVE_GCC_PLUGINS +depends test always fail. + +Signed-off-by: Brenda Streiff +Signed-off-by: Masahiro Yamada +Signed-off-by: Sasha Levin +--- + scripts/kconfig/preprocess.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/kconfig/preprocess.c b/scripts/kconfig/preprocess.c +index 0590f86df6e40..748da578b418c 100644 +--- a/scripts/kconfig/preprocess.c ++++ b/scripts/kconfig/preprocess.c +@@ -141,7 +141,7 @@ static char *do_lineno(int argc, char *argv[]) + static char *do_shell(int argc, char *argv[]) + { + FILE *p; +- char buf[256]; ++ char buf[4096]; + char *cmd; + size_t nread; + int i; +-- +2.34.1 + diff --git a/queue-5.4/net-macb-align-the-dma-and-coherent-dma-masks.patch b/queue-5.4/net-macb-align-the-dma-and-coherent-dma-masks.patch new file mode 100644 index 00000000000..21c76814572 --- /dev/null +++ b/queue-5.4/net-macb-align-the-dma-and-coherent-dma-masks.patch @@ -0,0 +1,51 @@ +From 3f365164fe5da9f17df17693dcb57b0d4bd7c451 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 9 Feb 2022 15:13:25 +0530 +Subject: net: macb: Align the dma and coherent dma masks + +From: Marc St-Amand + +[ Upstream commit 37f7860602b5b2d99fc7465f6407f403f5941988 ] + +Single page and coherent memory blocks can use different DMA masks +when the macb accesses physical memory directly. The kernel is clever +enough to allocate pages that fit into the requested address width. + +When using the ARM SMMU, the DMA mask must be the same for single +pages and big coherent memory blocks. Otherwise the translation +tables turn into one big mess. + + [ 74.959909] macb ff0e0000.ethernet eth0: DMA bus error: HRESP not OK + [ 74.959989] arm-smmu fd800000.smmu: Unhandled context fault: fsr=0x402, iova=0x3165687460, fsynr=0x20001, cbfrsynra=0x877, cb=1 + [ 75.173939] macb ff0e0000.ethernet eth0: DMA bus error: HRESP not OK + [ 75.173955] arm-smmu fd800000.smmu: Unhandled context fault: fsr=0x402, iova=0x3165687460, fsynr=0x20001, cbfrsynra=0x877, cb=1 + +Since using the same DMA mask does not hurt direct 1:1 physical +memory mappings, this commit always aligns DMA and coherent masks. + +Signed-off-by: Marc St-Amand +Signed-off-by: Harini Katakam +Acked-by: Nicolas Ferre +Tested-by: Conor Dooley +Signed-off-by: David S. Miller +Signed-off-by: Sasha Levin +--- + drivers/net/ethernet/cadence/macb_main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c +index ebd0853a6f313..0dc52cf5367e7 100644 +--- a/drivers/net/ethernet/cadence/macb_main.c ++++ b/drivers/net/ethernet/cadence/macb_main.c +@@ -4284,7 +4284,7 @@ static int macb_probe(struct platform_device *pdev) + + #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT + if (GEM_BFEXT(DAW64, gem_readl(bp, DCFG6))) { +- dma_set_mask(&pdev->dev, DMA_BIT_MASK(44)); ++ dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(44)); + bp->hw_dma_cap |= HW_DMA_CAP_64B; + } + #endif +-- +2.34.1 + diff --git a/queue-5.4/net-macb-align-the-dma-and-coherent-dma-masks.patch-11520 b/queue-5.4/net-macb-align-the-dma-and-coherent-dma-masks.patch-11520 new file mode 100644 index 00000000000..21c76814572 --- /dev/null +++ b/queue-5.4/net-macb-align-the-dma-and-coherent-dma-masks.patch-11520 @@ -0,0 +1,51 @@ +From 3f365164fe5da9f17df17693dcb57b0d4bd7c451 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 9 Feb 2022 15:13:25 +0530 +Subject: net: macb: Align the dma and coherent dma masks + +From: Marc St-Amand + +[ Upstream commit 37f7860602b5b2d99fc7465f6407f403f5941988 ] + +Single page and coherent memory blocks can use different DMA masks +when the macb accesses physical memory directly. The kernel is clever +enough to allocate pages that fit into the requested address width. + +When using the ARM SMMU, the DMA mask must be the same for single +pages and big coherent memory blocks. Otherwise the translation +tables turn into one big mess. + + [ 74.959909] macb ff0e0000.ethernet eth0: DMA bus error: HRESP not OK + [ 74.959989] arm-smmu fd800000.smmu: Unhandled context fault: fsr=0x402, iova=0x3165687460, fsynr=0x20001, cbfrsynra=0x877, cb=1 + [ 75.173939] macb ff0e0000.ethernet eth0: DMA bus error: HRESP not OK + [ 75.173955] arm-smmu fd800000.smmu: Unhandled context fault: fsr=0x402, iova=0x3165687460, fsynr=0x20001, cbfrsynra=0x877, cb=1 + +Since using the same DMA mask does not hurt direct 1:1 physical +memory mappings, this commit always aligns DMA and coherent masks. + +Signed-off-by: Marc St-Amand +Signed-off-by: Harini Katakam +Acked-by: Nicolas Ferre +Tested-by: Conor Dooley +Signed-off-by: David S. Miller +Signed-off-by: Sasha Levin +--- + drivers/net/ethernet/cadence/macb_main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c +index ebd0853a6f313..0dc52cf5367e7 100644 +--- a/drivers/net/ethernet/cadence/macb_main.c ++++ b/drivers/net/ethernet/cadence/macb_main.c +@@ -4284,7 +4284,7 @@ static int macb_probe(struct platform_device *pdev) + + #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT + if (GEM_BFEXT(DAW64, gem_readl(bp, DCFG6))) { +- dma_set_mask(&pdev->dev, DMA_BIT_MASK(44)); ++ dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(44)); + bp->hw_dma_cap |= HW_DMA_CAP_64B; + } + #endif +-- +2.34.1 + diff --git a/queue-5.4/net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch b/queue-5.4/net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch new file mode 100644 index 00000000000..2e1d18e813a --- /dev/null +++ b/queue-5.4/net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch @@ -0,0 +1,70 @@ +From 924d63b693a6315b8994cad234e9cd34d32fc295 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 9 Feb 2022 10:47:17 +0800 +Subject: net: usb: qmi_wwan: Add support for Dell DW5829e +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Slark Xiao + +[ Upstream commit 8ecbb179286cbc91810c16caeb3396e06305cd0c ] + +Dell DW5829e same as DW5821e except the CAT level. +DW5821e supports CAT16 but DW5829e supports CAT9. +Also, DW5829e includes normal and eSIM type. +Please see below test evidence: + +T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 5 Spd=5000 MxCh= 0 +D: Ver= 3.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS= 9 #Cfgs= 1 +P: Vendor=413c ProdID=81e6 Rev=03.18 +S: Manufacturer=Dell Inc. +S: Product=DW5829e Snapdragon X20 LTE +S: SerialNumber=0123456789ABCDEF +C: #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=896mA +I: If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan +I: If#=0x1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid +I: If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +I: If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +I: If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +I: If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option + +T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 7 Spd=5000 MxCh= 0 +D: Ver= 3.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS= 9 #Cfgs= 1 +P: Vendor=413c ProdID=81e4 Rev=03.18 +S: Manufacturer=Dell Inc. +S: Product=DW5829e-eSIM Snapdragon X20 LTE +S: SerialNumber=0123456789ABCDEF +C: #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=896mA +I: If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan +I: If#=0x1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid +I: If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +I: If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +I: If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +I: If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option + +Signed-off-by: Slark Xiao +Acked-by: Bjørn Mork +Link: https://lore.kernel.org/r/20220209024717.8564-1-slark_xiao@163.com +Signed-off-by: Jakub Kicinski +Signed-off-by: Sasha Levin +--- + drivers/net/usb/qmi_wwan.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c +index 6508d70056b3a..566ea48fd6078 100644 +--- a/drivers/net/usb/qmi_wwan.c ++++ b/drivers/net/usb/qmi_wwan.c +@@ -1355,6 +1355,8 @@ static const struct usb_device_id products[] = { + {QMI_FIXED_INTF(0x413c, 0x81d7, 0)}, /* Dell Wireless 5821e */ + {QMI_FIXED_INTF(0x413c, 0x81d7, 1)}, /* Dell Wireless 5821e preproduction config */ + {QMI_FIXED_INTF(0x413c, 0x81e0, 0)}, /* Dell Wireless 5821e with eSIM support*/ ++ {QMI_FIXED_INTF(0x413c, 0x81e4, 0)}, /* Dell Wireless 5829e with eSIM support*/ ++ {QMI_FIXED_INTF(0x413c, 0x81e6, 0)}, /* Dell Wireless 5829e */ + {QMI_FIXED_INTF(0x03f0, 0x4e1d, 8)}, /* HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module */ + {QMI_FIXED_INTF(0x03f0, 0x9d1d, 1)}, /* HP lt4120 Snapdragon X5 LTE */ + {QMI_FIXED_INTF(0x22de, 0x9061, 3)}, /* WeTelecom WPD-600N */ +-- +2.34.1 + diff --git a/queue-5.4/net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch-27463 b/queue-5.4/net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch-27463 new file mode 100644 index 00000000000..2e1d18e813a --- /dev/null +++ b/queue-5.4/net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch-27463 @@ -0,0 +1,70 @@ +From 924d63b693a6315b8994cad234e9cd34d32fc295 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 9 Feb 2022 10:47:17 +0800 +Subject: net: usb: qmi_wwan: Add support for Dell DW5829e +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Slark Xiao + +[ Upstream commit 8ecbb179286cbc91810c16caeb3396e06305cd0c ] + +Dell DW5829e same as DW5821e except the CAT level. +DW5821e supports CAT16 but DW5829e supports CAT9. +Also, DW5829e includes normal and eSIM type. +Please see below test evidence: + +T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 5 Spd=5000 MxCh= 0 +D: Ver= 3.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS= 9 #Cfgs= 1 +P: Vendor=413c ProdID=81e6 Rev=03.18 +S: Manufacturer=Dell Inc. +S: Product=DW5829e Snapdragon X20 LTE +S: SerialNumber=0123456789ABCDEF +C: #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=896mA +I: If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan +I: If#=0x1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid +I: If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +I: If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +I: If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +I: If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option + +T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 7 Spd=5000 MxCh= 0 +D: Ver= 3.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS= 9 #Cfgs= 1 +P: Vendor=413c ProdID=81e4 Rev=03.18 +S: Manufacturer=Dell Inc. +S: Product=DW5829e-eSIM Snapdragon X20 LTE +S: SerialNumber=0123456789ABCDEF +C: #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=896mA +I: If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan +I: If#=0x1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid +I: If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +I: If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +I: If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +I: If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option + +Signed-off-by: Slark Xiao +Acked-by: Bjørn Mork +Link: https://lore.kernel.org/r/20220209024717.8564-1-slark_xiao@163.com +Signed-off-by: Jakub Kicinski +Signed-off-by: Sasha Levin +--- + drivers/net/usb/qmi_wwan.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c +index 6508d70056b3a..566ea48fd6078 100644 +--- a/drivers/net/usb/qmi_wwan.c ++++ b/drivers/net/usb/qmi_wwan.c +@@ -1355,6 +1355,8 @@ static const struct usb_device_id products[] = { + {QMI_FIXED_INTF(0x413c, 0x81d7, 0)}, /* Dell Wireless 5821e */ + {QMI_FIXED_INTF(0x413c, 0x81d7, 1)}, /* Dell Wireless 5821e preproduction config */ + {QMI_FIXED_INTF(0x413c, 0x81e0, 0)}, /* Dell Wireless 5821e with eSIM support*/ ++ {QMI_FIXED_INTF(0x413c, 0x81e4, 0)}, /* Dell Wireless 5829e with eSIM support*/ ++ {QMI_FIXED_INTF(0x413c, 0x81e6, 0)}, /* Dell Wireless 5829e */ + {QMI_FIXED_INTF(0x03f0, 0x4e1d, 8)}, /* HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module */ + {QMI_FIXED_INTF(0x03f0, 0x9d1d, 1)}, /* HP lt4120 Snapdragon X5 LTE */ + {QMI_FIXED_INTF(0x22de, 0x9061, 3)}, /* WeTelecom WPD-600N */ +-- +2.34.1 + diff --git a/queue-5.4/netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch b/queue-5.4/netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch new file mode 100644 index 00000000000..d0ee2fe4ab6 --- /dev/null +++ b/queue-5.4/netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch @@ -0,0 +1,55 @@ +From 22d2568680c0c8aa3602b9bee2e462493f81f152 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 28 Jan 2022 13:13:32 +0100 +Subject: netfilter: conntrack: don't refresh sctp entries in closed state + +From: Florian Westphal + +[ Upstream commit 77b337196a9d87f3d6bb9b07c0436ecafbffda1e ] + +Vivek Thrivikraman reported: + An SCTP server application which is accessed continuously by client + application. + When the session disconnects the client retries to establish a connection. + After restart of SCTP server application the session is not established + because of stale conntrack entry with connection state CLOSED as below. + + (removing this entry manually established new connection): + + sctp 9 CLOSED src=10.141.189.233 [..] [ASSURED] + +Just skip timeout update of closed entries, we don't want them to +stay around forever. + +Reported-and-tested-by: Vivek Thrivikraman +Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=1579 +Signed-off-by: Florian Westphal +Signed-off-by: Pablo Neira Ayuso +Signed-off-by: Sasha Levin +--- + net/netfilter/nf_conntrack_proto_sctp.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/net/netfilter/nf_conntrack_proto_sctp.c b/net/netfilter/nf_conntrack_proto_sctp.c +index 810cca24b3990..7626f3e1c70a7 100644 +--- a/net/netfilter/nf_conntrack_proto_sctp.c ++++ b/net/netfilter/nf_conntrack_proto_sctp.c +@@ -489,6 +489,15 @@ int nf_conntrack_sctp_packet(struct nf_conn *ct, + pr_debug("Setting vtag %x for dir %d\n", + ih->init_tag, !dir); + ct->proto.sctp.vtag[!dir] = ih->init_tag; ++ ++ /* don't renew timeout on init retransmit so ++ * port reuse by client or NAT middlebox cannot ++ * keep entry alive indefinitely (incl. nat info). ++ */ ++ if (new_state == SCTP_CONNTRACK_CLOSED && ++ old_state == SCTP_CONNTRACK_CLOSED && ++ nf_ct_is_confirmed(ct)) ++ ignore = true; + } + + ct->proto.sctp.state = new_state; +-- +2.34.1 + diff --git a/queue-5.4/netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch-11113 b/queue-5.4/netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch-11113 new file mode 100644 index 00000000000..d0ee2fe4ab6 --- /dev/null +++ b/queue-5.4/netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch-11113 @@ -0,0 +1,55 @@ +From 22d2568680c0c8aa3602b9bee2e462493f81f152 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 28 Jan 2022 13:13:32 +0100 +Subject: netfilter: conntrack: don't refresh sctp entries in closed state + +From: Florian Westphal + +[ Upstream commit 77b337196a9d87f3d6bb9b07c0436ecafbffda1e ] + +Vivek Thrivikraman reported: + An SCTP server application which is accessed continuously by client + application. + When the session disconnects the client retries to establish a connection. + After restart of SCTP server application the session is not established + because of stale conntrack entry with connection state CLOSED as below. + + (removing this entry manually established new connection): + + sctp 9 CLOSED src=10.141.189.233 [..] [ASSURED] + +Just skip timeout update of closed entries, we don't want them to +stay around forever. + +Reported-and-tested-by: Vivek Thrivikraman +Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=1579 +Signed-off-by: Florian Westphal +Signed-off-by: Pablo Neira Ayuso +Signed-off-by: Sasha Levin +--- + net/netfilter/nf_conntrack_proto_sctp.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/net/netfilter/nf_conntrack_proto_sctp.c b/net/netfilter/nf_conntrack_proto_sctp.c +index 810cca24b3990..7626f3e1c70a7 100644 +--- a/net/netfilter/nf_conntrack_proto_sctp.c ++++ b/net/netfilter/nf_conntrack_proto_sctp.c +@@ -489,6 +489,15 @@ int nf_conntrack_sctp_packet(struct nf_conn *ct, + pr_debug("Setting vtag %x for dir %d\n", + ih->init_tag, !dir); + ct->proto.sctp.vtag[!dir] = ih->init_tag; ++ ++ /* don't renew timeout on init retransmit so ++ * port reuse by client or NAT middlebox cannot ++ * keep entry alive indefinitely (incl. nat info). ++ */ ++ if (new_state == SCTP_CONNTRACK_CLOSED && ++ old_state == SCTP_CONNTRACK_CLOSED && ++ nf_ct_is_confirmed(ct)) ++ ignore = true; + } + + ct->proto.sctp.state = new_state; +-- +2.34.1 + diff --git a/queue-5.4/series b/queue-5.4/series index 827aee80327..d3743035440 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -58,3 +58,31 @@ mtd-rawnand-qcom-fix-clock-sequencing-in-qcom_nandc_probe.patch mtd-rawnand-brcmnand-fixed-incorrect-sub-page-ecc-status.patch drivers-hv-vmbus-fix-memory-leak-in-vmbus_add_channe.patch kvm-x86-pmu-use-amd64_raw_event_mask-for-perf_type_r.patch +arm-omap2-hwmod-add-of_node_put-before-break.patch +arm-omap2-adjust-the-location-of-put_device-call-in-.patch +irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch +netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch +arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch +arm64-dts-meson-g12-add-atf-bl32-reserved-memory-reg.patch +arm64-dts-meson-g12-drop-bl32-region-from-sei510-sei.patch +kconfig-let-shell-return-enough-output-for-deep-path.patch +ata-libata-core-disable-trim-on-m88v29.patch +drm-rockchip-dw_hdmi-do-not-leave-clock-enabled-in-e.patch +tracing-fix-tp_printk-option-related-with-tp_printk_.patch +net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch +net-macb-align-the-dma-and-coherent-dma-masks.patch +kconfig-fix-failing-to-generate-auto.conf.patch +arm-omap2-hwmod-add-of_node_put-before-break.patch-16842 +arm-omap2-adjust-the-location-of-put_device-call-in-.patch-6515 +irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch-14951 +netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch-11113 +arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch-1924 +arm64-dts-meson-g12-add-atf-bl32-reserved-memory-reg.patch-20818 +arm64-dts-meson-g12-drop-bl32-region-from-sei510-sei.patch-31989 +kconfig-let-shell-return-enough-output-for-deep-path.patch-17862 +ata-libata-core-disable-trim-on-m88v29.patch-31131 +drm-rockchip-dw_hdmi-do-not-leave-clock-enabled-in-e.patch-11884 +tracing-fix-tp_printk-option-related-with-tp_printk_.patch-23675 +net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch-27463 +net-macb-align-the-dma-and-coherent-dma-masks.patch-11520 +kconfig-fix-failing-to-generate-auto.conf.patch-15744 diff --git a/queue-5.4/tracing-fix-tp_printk-option-related-with-tp_printk_.patch b/queue-5.4/tracing-fix-tp_printk-option-related-with-tp_printk_.patch new file mode 100644 index 00000000000..d7f119fdc7d --- /dev/null +++ b/queue-5.4/tracing-fix-tp_printk-option-related-with-tp_printk_.patch @@ -0,0 +1,49 @@ +From ad5789dc736fbf05dc84ff39fa73fed1feac6ac5 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 9 Feb 2022 04:54:22 +0900 +Subject: tracing: Fix tp_printk option related with tp_printk_stop_on_boot + +From: JaeSang Yoo + +[ Upstream commit 3203ce39ac0b2a57a84382ec184c7d4a0bede175 ] + +The kernel parameter "tp_printk_stop_on_boot" starts with "tp_printk" which is +the same as another kernel parameter "tp_printk". If "tp_printk" setup is +called before the "tp_printk_stop_on_boot", it will override the latter +and keep it from being set. + +This is similar to other kernel parameter issues, such as: + Commit 745a600cf1a6 ("um: console: Ignore console= option") +or init/do_mounts.c:45 (setup function of "ro" kernel param) + +Fix it by checking for a "_" right after the "tp_printk" and if that +exists do not process the parameter. + +Link: https://lkml.kernel.org/r/20220208195421.969326-1-jsyoo5b@gmail.com + +Signed-off-by: JaeSang Yoo +[ Fixed up change log and added space after if condition ] +Signed-off-by: Steven Rostedt (Google) +Signed-off-by: Sasha Levin +--- + kernel/trace/trace.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c +index 5a4dfb55ba16b..615259d8fa9ad 100644 +--- a/kernel/trace/trace.c ++++ b/kernel/trace/trace.c +@@ -236,6 +236,10 @@ __setup("trace_clock=", set_trace_boot_clock); + + static int __init set_tracepoint_printk(char *str) + { ++ /* Ignore the "tp_printk_stop_on_boot" param */ ++ if (*str == '_') ++ return 0; ++ + if ((strcmp(str, "=0") != 0 && strcmp(str, "=off") != 0)) + tracepoint_printk = 1; + return 1; +-- +2.34.1 + diff --git a/queue-5.4/tracing-fix-tp_printk-option-related-with-tp_printk_.patch-23675 b/queue-5.4/tracing-fix-tp_printk-option-related-with-tp_printk_.patch-23675 new file mode 100644 index 00000000000..d7f119fdc7d --- /dev/null +++ b/queue-5.4/tracing-fix-tp_printk-option-related-with-tp_printk_.patch-23675 @@ -0,0 +1,49 @@ +From ad5789dc736fbf05dc84ff39fa73fed1feac6ac5 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 9 Feb 2022 04:54:22 +0900 +Subject: tracing: Fix tp_printk option related with tp_printk_stop_on_boot + +From: JaeSang Yoo + +[ Upstream commit 3203ce39ac0b2a57a84382ec184c7d4a0bede175 ] + +The kernel parameter "tp_printk_stop_on_boot" starts with "tp_printk" which is +the same as another kernel parameter "tp_printk". If "tp_printk" setup is +called before the "tp_printk_stop_on_boot", it will override the latter +and keep it from being set. + +This is similar to other kernel parameter issues, such as: + Commit 745a600cf1a6 ("um: console: Ignore console= option") +or init/do_mounts.c:45 (setup function of "ro" kernel param) + +Fix it by checking for a "_" right after the "tp_printk" and if that +exists do not process the parameter. + +Link: https://lkml.kernel.org/r/20220208195421.969326-1-jsyoo5b@gmail.com + +Signed-off-by: JaeSang Yoo +[ Fixed up change log and added space after if condition ] +Signed-off-by: Steven Rostedt (Google) +Signed-off-by: Sasha Levin +--- + kernel/trace/trace.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c +index 5a4dfb55ba16b..615259d8fa9ad 100644 +--- a/kernel/trace/trace.c ++++ b/kernel/trace/trace.c +@@ -236,6 +236,10 @@ __setup("trace_clock=", set_trace_boot_clock); + + static int __init set_tracepoint_printk(char *str) + { ++ /* Ignore the "tp_printk_stop_on_boot" param */ ++ if (*str == '_') ++ return 0; ++ + if ((strcmp(str, "=0") != 0 && strcmp(str, "=off") != 0)) + tracepoint_printk = 1; + return 1; +-- +2.34.1 +