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
+++ /dev/null
-From 781aebf1222acd569312d0568eb700bcfaef90f1 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-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 <webgeek1234@gmail.com>
-
-[ 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 <webgeek1234@gmail.com>
-Link: https://patch.msgid.link/20250423-spi-tegra114-v1-1-2d608bcc12f9@gmail.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-
+++ /dev/null
-From c47743b1dc5476f8cec47629183a425586b25a69 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 15 Aug 2023 12:20:58 +0300
-Subject: spi: tegra114: Remove unnecessary NULL-pointer checks
-
-From: Alexander Danilenko <al.b.danilenko@gmail.com>
-
-[ 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 <al.b.danilenko@gmail.com>
-Link: https://lore.kernel.org/r/20230815092058.4083-1-al.b.danilenko@gmail.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-Stable-dep-of: 4426e6b4ecf6 ("spi: tegra114: Don't fail set_cs_timing when delays are zero")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-
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
+++ /dev/null
-From 7cbc152533a52b99ee873db1e13646947d8ccc93 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-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 <webgeek1234@gmail.com>
-
-[ 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 <webgeek1234@gmail.com>
-Link: https://patch.msgid.link/20250423-spi-tegra114-v1-1-2d608bcc12f9@gmail.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-
+++ /dev/null
-From 9f6421ddc72eaeff8e254d44e7d3e650d26f0c5a Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 15 Aug 2023 12:20:58 +0300
-Subject: spi: tegra114: Remove unnecessary NULL-pointer checks
-
-From: Alexander Danilenko <al.b.danilenko@gmail.com>
-
-[ 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 <al.b.danilenko@gmail.com>
-Link: https://lore.kernel.org/r/20230815092058.4083-1-al.b.danilenko@gmail.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-Stable-dep-of: 4426e6b4ecf6 ("spi: tegra114: Don't fail set_cs_timing when delays are zero")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-