From: Greg Kroah-Hartman Date: Wed, 7 May 2025 17:58:59 +0000 (+0200) Subject: drop spi patch on request X-Git-Tag: v5.15.182~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=42374cf6ca9f4e1c069a8d15296d0e9a5698c2b0;p=thirdparty%2Fkernel%2Fstable-queue.git drop spi patch on request --- diff --git a/queue-5.15/series b/queue-5.15/series index 7b7bb4b133..ecf77c1f93 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -51,7 +51,5 @@ irqchip-gic-v2m-mark-a-few-functions-__init.patch irqchip-gic-v2m-prevent-use-after-free-of-gicv2m_get.patch serial-msm-configure-correct-working-mode-before-sta.patch riscv-uprobes-add-missing-fence.i-after-building-the.patch -spi-tegra114-remove-unnecessary-null-pointer-checks.patch -spi-tegra114-don-t-fail-set_cs_timing-when-delays-ar.patch iommu-arm-smmu-v3-use-the-new-rb-tree-helpers.patch iommu-arm-smmu-v3-fix-iommu_device_probe-bug-due-to-.patch diff --git a/queue-5.15/spi-tegra114-don-t-fail-set_cs_timing-when-delays-ar.patch b/queue-5.15/spi-tegra114-don-t-fail-set_cs_timing-when-delays-ar.patch deleted file mode 100644 index e8228c51e1..0000000000 --- a/queue-5.15/spi-tegra114-don-t-fail-set_cs_timing-when-delays-ar.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 781aebf1222acd569312d0568eb700bcfaef90f1 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 23 Apr 2025 21:03:03 -0500 -Subject: spi: tegra114: Don't fail set_cs_timing when delays are zero - -From: Aaron Kling - -[ Upstream commit 4426e6b4ecf632bb75d973051e1179b8bfac2320 ] - -The original code would skip null delay pointers, but when the pointers -were converted to point within the spi_device struct, the check was not -updated to skip delays of zero. Hence all spi devices that didn't set -delays would fail to probe. - -Fixes: 04e6bb0d6bb1 ("spi: modify set_cs_timing parameter") -Cc: stable@vger.kernel.org -Signed-off-by: Aaron Kling -Link: https://patch.msgid.link/20250423-spi-tegra114-v1-1-2d608bcc12f9@gmail.com -Signed-off-by: Mark Brown -Signed-off-by: Sasha Levin ---- - drivers/spi/spi-tegra114.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/drivers/spi/spi-tegra114.c b/drivers/spi/spi-tegra114.c -index b6f081227cbd4..af9ed52445fe6 100644 ---- a/drivers/spi/spi-tegra114.c -+++ b/drivers/spi/spi-tegra114.c -@@ -729,9 +729,9 @@ static int tegra_spi_set_hw_cs_timing(struct spi_device *spi) - u32 inactive_cycles; - u8 cs_state; - -- if (setup->unit != SPI_DELAY_UNIT_SCK || -- hold->unit != SPI_DELAY_UNIT_SCK || -- inactive->unit != SPI_DELAY_UNIT_SCK) { -+ if ((setup->unit && setup->unit != SPI_DELAY_UNIT_SCK) || -+ (hold->unit && hold->unit != SPI_DELAY_UNIT_SCK) || -+ (inactive->unit && inactive->unit != SPI_DELAY_UNIT_SCK)) { - dev_err(&spi->dev, - "Invalid delay unit %d, should be SPI_DELAY_UNIT_SCK\n", - SPI_DELAY_UNIT_SCK); --- -2.39.5 - diff --git a/queue-5.15/spi-tegra114-remove-unnecessary-null-pointer-checks.patch b/queue-5.15/spi-tegra114-remove-unnecessary-null-pointer-checks.patch deleted file mode 100644 index c456c1074b..0000000000 --- a/queue-5.15/spi-tegra114-remove-unnecessary-null-pointer-checks.patch +++ /dev/null @@ -1,74 +0,0 @@ -From c47743b1dc5476f8cec47629183a425586b25a69 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 15 Aug 2023 12:20:58 +0300 -Subject: spi: tegra114: Remove unnecessary NULL-pointer checks - -From: Alexander Danilenko - -[ Upstream commit 373c36bf7914e3198ac2654dede499f340c52950 ] - -cs_setup, cs_hold and cs_inactive points to fields of spi_device struct, -so there is no sense in checking them for NULL. - -Found by Linux Verification Center (linuxtesting.org) with SVACE. - -Fixes: 04e6bb0d6bb1 ("spi: modify set_cs_timing parameter") -Signed-off-by: Alexander Danilenko -Link: https://lore.kernel.org/r/20230815092058.4083-1-al.b.danilenko@gmail.com -Signed-off-by: Mark Brown -Stable-dep-of: 4426e6b4ecf6 ("spi: tegra114: Don't fail set_cs_timing when delays are zero") -Signed-off-by: Sasha Levin ---- - drivers/spi/spi-tegra114.c | 18 +++++++----------- - 1 file changed, 7 insertions(+), 11 deletions(-) - -diff --git a/drivers/spi/spi-tegra114.c b/drivers/spi/spi-tegra114.c -index 8f345247a8c32..b6f081227cbd4 100644 ---- a/drivers/spi/spi-tegra114.c -+++ b/drivers/spi/spi-tegra114.c -@@ -723,27 +723,23 @@ static int tegra_spi_set_hw_cs_timing(struct spi_device *spi) - struct spi_delay *setup = &spi->cs_setup; - struct spi_delay *hold = &spi->cs_hold; - struct spi_delay *inactive = &spi->cs_inactive; -- u8 setup_dly, hold_dly, inactive_dly; -+ u8 setup_dly, hold_dly; - u32 setup_hold; - u32 spi_cs_timing; - u32 inactive_cycles; - u8 cs_state; - -- if ((setup && setup->unit != SPI_DELAY_UNIT_SCK) || -- (hold && hold->unit != SPI_DELAY_UNIT_SCK) || -- (inactive && inactive->unit != SPI_DELAY_UNIT_SCK)) { -+ if (setup->unit != SPI_DELAY_UNIT_SCK || -+ hold->unit != SPI_DELAY_UNIT_SCK || -+ inactive->unit != SPI_DELAY_UNIT_SCK) { - dev_err(&spi->dev, - "Invalid delay unit %d, should be SPI_DELAY_UNIT_SCK\n", - SPI_DELAY_UNIT_SCK); - return -EINVAL; - } - -- setup_dly = setup ? setup->value : 0; -- hold_dly = hold ? hold->value : 0; -- inactive_dly = inactive ? inactive->value : 0; -- -- setup_dly = min_t(u8, setup_dly, MAX_SETUP_HOLD_CYCLES); -- hold_dly = min_t(u8, hold_dly, MAX_SETUP_HOLD_CYCLES); -+ setup_dly = min_t(u8, setup->value, MAX_SETUP_HOLD_CYCLES); -+ hold_dly = min_t(u8, hold->value, MAX_SETUP_HOLD_CYCLES); - if (setup_dly && hold_dly) { - setup_hold = SPI_SETUP_HOLD(setup_dly - 1, hold_dly - 1); - spi_cs_timing = SPI_CS_SETUP_HOLD(tspi->spi_cs_timing1, -@@ -755,7 +751,7 @@ static int tegra_spi_set_hw_cs_timing(struct spi_device *spi) - } - } - -- inactive_cycles = min_t(u8, inactive_dly, MAX_INACTIVE_CYCLES); -+ inactive_cycles = min_t(u8, inactive->value, MAX_INACTIVE_CYCLES); - if (inactive_cycles) - inactive_cycles--; - cs_state = inactive_cycles ? 0 : 1; --- -2.39.5 - diff --git a/queue-6.1/series b/queue-6.1/series index bf05e3e858..ece57ac071 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -86,8 +86,6 @@ irqchip-gic-v2m-mark-a-few-functions-__init.patch irqchip-gic-v2m-prevent-use-after-free-of-gicv2m_get.patch memcg-drain-obj-stock-on-cpu-hotplug-teardown.patch riscv-uprobes-add-missing-fence.i-after-building-the.patch -spi-tegra114-remove-unnecessary-null-pointer-checks.patch -spi-tegra114-don-t-fail-set_cs_timing-when-delays-ar.patch iommu-arm-smmu-v3-use-the-new-rb-tree-helpers.patch iommu-arm-smmu-v3-fix-iommu_device_probe-bug-due-to-.patch drm-amd-display-phase2-enable-mst-hdcp-multiple-disp.patch diff --git a/queue-6.1/spi-tegra114-don-t-fail-set_cs_timing-when-delays-ar.patch b/queue-6.1/spi-tegra114-don-t-fail-set_cs_timing-when-delays-ar.patch deleted file mode 100644 index 820abae578..0000000000 --- a/queue-6.1/spi-tegra114-don-t-fail-set_cs_timing-when-delays-ar.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 7cbc152533a52b99ee873db1e13646947d8ccc93 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 23 Apr 2025 21:03:03 -0500 -Subject: spi: tegra114: Don't fail set_cs_timing when delays are zero - -From: Aaron Kling - -[ Upstream commit 4426e6b4ecf632bb75d973051e1179b8bfac2320 ] - -The original code would skip null delay pointers, but when the pointers -were converted to point within the spi_device struct, the check was not -updated to skip delays of zero. Hence all spi devices that didn't set -delays would fail to probe. - -Fixes: 04e6bb0d6bb1 ("spi: modify set_cs_timing parameter") -Cc: stable@vger.kernel.org -Signed-off-by: Aaron Kling -Link: https://patch.msgid.link/20250423-spi-tegra114-v1-1-2d608bcc12f9@gmail.com -Signed-off-by: Mark Brown -Signed-off-by: Sasha Levin ---- - drivers/spi/spi-tegra114.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/drivers/spi/spi-tegra114.c b/drivers/spi/spi-tegra114.c -index 6b56108308fc5..60799ab60eb45 100644 ---- a/drivers/spi/spi-tegra114.c -+++ b/drivers/spi/spi-tegra114.c -@@ -729,9 +729,9 @@ static int tegra_spi_set_hw_cs_timing(struct spi_device *spi) - u32 inactive_cycles; - u8 cs_state; - -- if (setup->unit != SPI_DELAY_UNIT_SCK || -- hold->unit != SPI_DELAY_UNIT_SCK || -- inactive->unit != SPI_DELAY_UNIT_SCK) { -+ if ((setup->unit && setup->unit != SPI_DELAY_UNIT_SCK) || -+ (hold->unit && hold->unit != SPI_DELAY_UNIT_SCK) || -+ (inactive->unit && inactive->unit != SPI_DELAY_UNIT_SCK)) { - dev_err(&spi->dev, - "Invalid delay unit %d, should be SPI_DELAY_UNIT_SCK\n", - SPI_DELAY_UNIT_SCK); --- -2.39.5 - diff --git a/queue-6.1/spi-tegra114-remove-unnecessary-null-pointer-checks.patch b/queue-6.1/spi-tegra114-remove-unnecessary-null-pointer-checks.patch deleted file mode 100644 index 38decc0d75..0000000000 --- a/queue-6.1/spi-tegra114-remove-unnecessary-null-pointer-checks.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 9f6421ddc72eaeff8e254d44e7d3e650d26f0c5a Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 15 Aug 2023 12:20:58 +0300 -Subject: spi: tegra114: Remove unnecessary NULL-pointer checks - -From: Alexander Danilenko - -[ Upstream commit 373c36bf7914e3198ac2654dede499f340c52950 ] - -cs_setup, cs_hold and cs_inactive points to fields of spi_device struct, -so there is no sense in checking them for NULL. - -Found by Linux Verification Center (linuxtesting.org) with SVACE. - -Fixes: 04e6bb0d6bb1 ("spi: modify set_cs_timing parameter") -Signed-off-by: Alexander Danilenko -Link: https://lore.kernel.org/r/20230815092058.4083-1-al.b.danilenko@gmail.com -Signed-off-by: Mark Brown -Stable-dep-of: 4426e6b4ecf6 ("spi: tegra114: Don't fail set_cs_timing when delays are zero") -Signed-off-by: Sasha Levin ---- - drivers/spi/spi-tegra114.c | 18 +++++++----------- - 1 file changed, 7 insertions(+), 11 deletions(-) - -diff --git a/drivers/spi/spi-tegra114.c b/drivers/spi/spi-tegra114.c -index d9be80e3e1bcb..6b56108308fc5 100644 ---- a/drivers/spi/spi-tegra114.c -+++ b/drivers/spi/spi-tegra114.c -@@ -723,27 +723,23 @@ static int tegra_spi_set_hw_cs_timing(struct spi_device *spi) - struct spi_delay *setup = &spi->cs_setup; - struct spi_delay *hold = &spi->cs_hold; - struct spi_delay *inactive = &spi->cs_inactive; -- u8 setup_dly, hold_dly, inactive_dly; -+ u8 setup_dly, hold_dly; - u32 setup_hold; - u32 spi_cs_timing; - u32 inactive_cycles; - u8 cs_state; - -- if ((setup && setup->unit != SPI_DELAY_UNIT_SCK) || -- (hold && hold->unit != SPI_DELAY_UNIT_SCK) || -- (inactive && inactive->unit != SPI_DELAY_UNIT_SCK)) { -+ if (setup->unit != SPI_DELAY_UNIT_SCK || -+ hold->unit != SPI_DELAY_UNIT_SCK || -+ inactive->unit != SPI_DELAY_UNIT_SCK) { - dev_err(&spi->dev, - "Invalid delay unit %d, should be SPI_DELAY_UNIT_SCK\n", - SPI_DELAY_UNIT_SCK); - return -EINVAL; - } - -- setup_dly = setup ? setup->value : 0; -- hold_dly = hold ? hold->value : 0; -- inactive_dly = inactive ? inactive->value : 0; -- -- setup_dly = min_t(u8, setup_dly, MAX_SETUP_HOLD_CYCLES); -- hold_dly = min_t(u8, hold_dly, MAX_SETUP_HOLD_CYCLES); -+ setup_dly = min_t(u8, setup->value, MAX_SETUP_HOLD_CYCLES); -+ hold_dly = min_t(u8, hold->value, MAX_SETUP_HOLD_CYCLES); - if (setup_dly && hold_dly) { - setup_hold = SPI_SETUP_HOLD(setup_dly - 1, hold_dly - 1); - spi_cs_timing = SPI_CS_SETUP_HOLD(tspi->spi_cs_timing1, -@@ -755,7 +751,7 @@ static int tegra_spi_set_hw_cs_timing(struct spi_device *spi) - } - } - -- inactive_cycles = min_t(u8, inactive_dly, MAX_INACTIVE_CYCLES); -+ inactive_cycles = min_t(u8, inactive->value, MAX_INACTIVE_CYCLES); - if (inactive_cycles) - inactive_cycles--; - cs_state = inactive_cycles ? 0 : 1; --- -2.39.5 -