From: Sasha Levin Date: Mon, 21 Feb 2022 04:50:50 +0000 (-0500) Subject: Fixes for 4.19 X-Git-Tag: v4.9.303~26^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=034f4e9a00c75e7abac228c8a5848cd0702f141d;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 4.19 Signed-off-by: Sasha Levin --- diff --git a/queue-4.19/arm-omap2-hwmod-add-of_node_put-before-break.patch b/queue-4.19/arm-omap2-hwmod-add-of_node_put-before-break.patch new file mode 100644 index 00000000000..34aed1682df --- /dev/null +++ b/queue-4.19/arm-omap2-hwmod-add-of_node_put-before-break.patch @@ -0,0 +1,42 @@ +From 02860673a4f8a327498497daccb3fa92853b705b 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 a8269f0a87ced..47c55351df033 100644 +--- a/arch/arm/mach-omap2/omap_hwmod.c ++++ b/arch/arm/mach-omap2/omap_hwmod.c +@@ -754,8 +754,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-4.19/arm-omap2-hwmod-add-of_node_put-before-break.patch-13775 b/queue-4.19/arm-omap2-hwmod-add-of_node_put-before-break.patch-13775 new file mode 100644 index 00000000000..34aed1682df --- /dev/null +++ b/queue-4.19/arm-omap2-hwmod-add-of_node_put-before-break.patch-13775 @@ -0,0 +1,42 @@ +From 02860673a4f8a327498497daccb3fa92853b705b 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 a8269f0a87ced..47c55351df033 100644 +--- a/arch/arm/mach-omap2/omap_hwmod.c ++++ b/arch/arm/mach-omap2/omap_hwmod.c +@@ -754,8 +754,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-4.19/arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch b/queue-4.19/arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch new file mode 100644 index 00000000000..ac5e7af0b1b --- /dev/null +++ b/queue-4.19/arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch @@ -0,0 +1,43 @@ +From 1e7965060d1458376ac53edfea996a29560be627 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 b8dc4dbb391b6..4252119bfd901 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-4.19/arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch-30243 b/queue-4.19/arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch-30243 new file mode 100644 index 00000000000..ac5e7af0b1b --- /dev/null +++ b/queue-4.19/arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch-30243 @@ -0,0 +1,43 @@ +From 1e7965060d1458376ac53edfea996a29560be627 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 b8dc4dbb391b6..4252119bfd901 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-4.19/ata-libata-core-disable-trim-on-m88v29.patch b/queue-4.19/ata-libata-core-disable-trim-on-m88v29.patch new file mode 100644 index 00000000000..5a4d9112187 --- /dev/null +++ b/queue-4.19/ata-libata-core-disable-trim-on-m88v29.patch @@ -0,0 +1,43 @@ +From fbe22dad1cdc1449cdb2c71236f4c809f427657c 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 46eacba2613b8..33d3728f36222 100644 +--- a/drivers/ata/libata-core.c ++++ b/drivers/ata/libata-core.c +@@ -4613,6 +4613,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-4.19/ata-libata-core-disable-trim-on-m88v29.patch-12598 b/queue-4.19/ata-libata-core-disable-trim-on-m88v29.patch-12598 new file mode 100644 index 00000000000..5a4d9112187 --- /dev/null +++ b/queue-4.19/ata-libata-core-disable-trim-on-m88v29.patch-12598 @@ -0,0 +1,43 @@ +From fbe22dad1cdc1449cdb2c71236f4c809f427657c 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 46eacba2613b8..33d3728f36222 100644 +--- a/drivers/ata/libata-core.c ++++ b/drivers/ata/libata-core.c +@@ -4613,6 +4613,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-4.19/irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch b/queue-4.19/irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch new file mode 100644 index 00000000000..78963224f9c --- /dev/null +++ b/queue-4.19/irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch @@ -0,0 +1,49 @@ +From be12debc82038f3a6d3932c38a3a5e49aa22bb2b 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 532e9d68c7042..767cdd3f773bb 100644 +--- a/drivers/irqchip/irq-sifive-plic.c ++++ b/drivers/irqchip/irq-sifive-plic.c +@@ -258,3 +258,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-4.19/irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch-32434 b/queue-4.19/irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch-32434 new file mode 100644 index 00000000000..78963224f9c --- /dev/null +++ b/queue-4.19/irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch-32434 @@ -0,0 +1,49 @@ +From be12debc82038f3a6d3932c38a3a5e49aa22bb2b 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 532e9d68c7042..767cdd3f773bb 100644 +--- a/drivers/irqchip/irq-sifive-plic.c ++++ b/drivers/irqchip/irq-sifive-plic.c +@@ -258,3 +258,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-4.19/kconfig-let-shell-return-enough-output-for-deep-path.patch b/queue-4.19/kconfig-let-shell-return-enough-output-for-deep-path.patch new file mode 100644 index 00000000000..073d14a985b --- /dev/null +++ b/queue-4.19/kconfig-let-shell-return-enough-output-for-deep-path.patch @@ -0,0 +1,43 @@ +From 3859686f7c56c6ede9b83f62641a6fc103478ade 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 389814b02d06b..8c7e51a6273cc 100644 +--- a/scripts/kconfig/preprocess.c ++++ b/scripts/kconfig/preprocess.c +@@ -138,7 +138,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-4.19/kconfig-let-shell-return-enough-output-for-deep-path.patch-22274 b/queue-4.19/kconfig-let-shell-return-enough-output-for-deep-path.patch-22274 new file mode 100644 index 00000000000..073d14a985b --- /dev/null +++ b/queue-4.19/kconfig-let-shell-return-enough-output-for-deep-path.patch-22274 @@ -0,0 +1,43 @@ +From 3859686f7c56c6ede9b83f62641a6fc103478ade 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 389814b02d06b..8c7e51a6273cc 100644 +--- a/scripts/kconfig/preprocess.c ++++ b/scripts/kconfig/preprocess.c +@@ -138,7 +138,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-4.19/net-macb-align-the-dma-and-coherent-dma-masks.patch b/queue-4.19/net-macb-align-the-dma-and-coherent-dma-masks.patch new file mode 100644 index 00000000000..fcdedecb717 --- /dev/null +++ b/queue-4.19/net-macb-align-the-dma-and-coherent-dma-masks.patch @@ -0,0 +1,51 @@ +From f9acb9925022603da03cf52c2df88b46a952dfbb 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 d110aa616a957..f162ac7d74e59 100644 +--- a/drivers/net/ethernet/cadence/macb_main.c ++++ b/drivers/net/ethernet/cadence/macb_main.c +@@ -4073,7 +4073,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-4.19/net-macb-align-the-dma-and-coherent-dma-masks.patch-25024 b/queue-4.19/net-macb-align-the-dma-and-coherent-dma-masks.patch-25024 new file mode 100644 index 00000000000..fcdedecb717 --- /dev/null +++ b/queue-4.19/net-macb-align-the-dma-and-coherent-dma-masks.patch-25024 @@ -0,0 +1,51 @@ +From f9acb9925022603da03cf52c2df88b46a952dfbb 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 d110aa616a957..f162ac7d74e59 100644 +--- a/drivers/net/ethernet/cadence/macb_main.c ++++ b/drivers/net/ethernet/cadence/macb_main.c +@@ -4073,7 +4073,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-4.19/net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch b/queue-4.19/net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch new file mode 100644 index 00000000000..d6d135cee3e --- /dev/null +++ b/queue-4.19/net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch @@ -0,0 +1,70 @@ +From 6e30730d8933c5171ed3ec68603695306498f3a2 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 54b37a30df18b..c2e872f926f1c 100644 +--- a/drivers/net/usb/qmi_wwan.c ++++ b/drivers/net/usb/qmi_wwan.c +@@ -1358,6 +1358,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-4.19/net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch-13890 b/queue-4.19/net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch-13890 new file mode 100644 index 00000000000..d6d135cee3e --- /dev/null +++ b/queue-4.19/net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch-13890 @@ -0,0 +1,70 @@ +From 6e30730d8933c5171ed3ec68603695306498f3a2 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 54b37a30df18b..c2e872f926f1c 100644 +--- a/drivers/net/usb/qmi_wwan.c ++++ b/drivers/net/usb/qmi_wwan.c +@@ -1358,6 +1358,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-4.19/netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch b/queue-4.19/netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch new file mode 100644 index 00000000000..04935b42e60 --- /dev/null +++ b/queue-4.19/netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch @@ -0,0 +1,55 @@ +From b98fec24db7c096bb8fd92d8cfda981907953869 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 a937d4f75613f..8cb62805fd684 100644 +--- a/net/netfilter/nf_conntrack_proto_sctp.c ++++ b/net/netfilter/nf_conntrack_proto_sctp.c +@@ -394,6 +394,15 @@ static int 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-4.19/netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch-19802 b/queue-4.19/netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch-19802 new file mode 100644 index 00000000000..04935b42e60 --- /dev/null +++ b/queue-4.19/netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch-19802 @@ -0,0 +1,55 @@ +From b98fec24db7c096bb8fd92d8cfda981907953869 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 a937d4f75613f..8cb62805fd684 100644 +--- a/net/netfilter/nf_conntrack_proto_sctp.c ++++ b/net/netfilter/nf_conntrack_proto_sctp.c +@@ -394,6 +394,15 @@ static int 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-4.19/series b/queue-4.19/series index 3bd95f4e732..c27c88c509b 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -43,3 +43,21 @@ mtd-rawnand-brcmnand-fixed-incorrect-sub-page-ecc-st.patch drivers-hv-vmbus-expose-monitor-data-only-when-monit.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 +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 +kconfig-let-shell-return-enough-output-for-deep-path.patch +ata-libata-core-disable-trim-on-m88v29.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 +arm-omap2-hwmod-add-of_node_put-before-break.patch-13775 +irqchip-sifive-plic-add-missing-thead-c900-plic-matc.patch-32434 +netfilter-conntrack-don-t-refresh-sctp-entries-in-cl.patch-19802 +arm64-dts-meson-gx-add-atf-bl32-reserved-memory-regi.patch-30243 +kconfig-let-shell-return-enough-output-for-deep-path.patch-22274 +ata-libata-core-disable-trim-on-m88v29.patch-12598 +tracing-fix-tp_printk-option-related-with-tp_printk_.patch-30794 +net-usb-qmi_wwan-add-support-for-dell-dw5829e.patch-13890 +net-macb-align-the-dma-and-coherent-dma-masks.patch-25024 diff --git a/queue-4.19/tracing-fix-tp_printk-option-related-with-tp_printk_.patch b/queue-4.19/tracing-fix-tp_printk-option-related-with-tp_printk_.patch new file mode 100644 index 00000000000..2183df20045 --- /dev/null +++ b/queue-4.19/tracing-fix-tp_printk-option-related-with-tp_printk_.patch @@ -0,0 +1,49 @@ +From fafbe1d86d458be10103272a6638a837760920fb 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 17e337a22c239..19a6b088f1e72 100644 +--- a/kernel/trace/trace.c ++++ b/kernel/trace/trace.c +@@ -232,6 +232,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-4.19/tracing-fix-tp_printk-option-related-with-tp_printk_.patch-30794 b/queue-4.19/tracing-fix-tp_printk-option-related-with-tp_printk_.patch-30794 new file mode 100644 index 00000000000..2183df20045 --- /dev/null +++ b/queue-4.19/tracing-fix-tp_printk-option-related-with-tp_printk_.patch-30794 @@ -0,0 +1,49 @@ +From fafbe1d86d458be10103272a6638a837760920fb 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 17e337a22c239..19a6b088f1e72 100644 +--- a/kernel/trace/trace.c ++++ b/kernel/trace/trace.c +@@ -232,6 +232,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 +