spi: tegra114: Use value to check for invalid delays
authorAaron Kling <webgeek1234@gmail.com>
Tue, 6 May 2025 18:36:59 +0000 (13:36 -0500)
committerMark Brown <broonie@kernel.org>
Thu, 8 May 2025 01:32:40 +0000 (10:32 +0900)
A delay unit of 0 is a valid entry, thus it is not valid to check for
unused delays. Instead, check the value field; if that is zero, the
given delay is unset.

Fixes: 4426e6b4ecf6 ("spi: tegra114: Don't fail set_cs_timing when delays are zero")
Cc: stable@vger.kernel.org
Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Link: https://patch.msgid.link/20250506-spi-tegra114-fixup-v1-1-136dc2f732f3@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-tegra114.c

index 2a8bb798e95b954fe573f1c50445ed2e7fcbfd78..795a8482c2c700c3768bd50bf59971256893a486 100644 (file)
@@ -728,9 +728,9 @@ static int tegra_spi_set_hw_cs_timing(struct spi_device *spi)
        u32 inactive_cycles;
        u8 cs_state;
 
-       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)) {
+       if ((setup->value && setup->unit != SPI_DELAY_UNIT_SCK) ||
+           (hold->value && hold->unit != SPI_DELAY_UNIT_SCK) ||
+           (inactive->value && 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);