linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1] spi: microchip-core-qspi: stop checking viability of op->max_freq in supports_op callback
@ 2025-08-25 11:53 Conor Dooley
  2025-08-29 22:19 ` Mark Brown
  2025-09-01 22:15 ` Mark Brown
  0 siblings, 2 replies; 3+ messages in thread
From: Conor Dooley @ 2025-08-25 11:53 UTC (permalink / raw)
  To: linux-spi
  Cc: conor, Conor Dooley, stable, Valentina Fernandez, Daire McNamara,
	Mark Brown, Miquel Raynal, linux-kernel

From: Conor Dooley <conor.dooley@microchip.com>

In commit 13529647743d9 ("spi: microchip-core-qspi: Support per spi-mem
operation frequency switches") the logic for checking the viability of
op->max_freq in mchp_coreqspi_setup_clock() was copied into
mchp_coreqspi_supports_op(). Unfortunately, op->max_freq is not valid
when this function is called during probe but is instead zero.
Accordingly, baud_rate_val is calculated to be INT_MAX due to division
by zero, causing probe of the attached memory device to fail.

Seemingly spi-microchip-core-qspi was the only driver that had such a
modification made to its supports_op callback when the per_op_freq
capability was added, so just remove it to restore prior functionality.

CC: stable@vger.kernel.org
Reported-by: Valentina Fernandez <valentina.fernandezalanis@microchip.com>
Fixes: 13529647743d9 ("spi: microchip-core-qspi: Support per spi-mem operation frequency switches")
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
---
CC: Conor Dooley <conor.dooley@microchip.com>
CC: Daire McNamara <daire.mcnamara@microchip.com>
CC: Mark Brown <broonie@kernel.org>
CC: Miquel Raynal <miquel.raynal@bootlin.com>
CC: linux-spi@vger.kernel.org
CC: linux-kernel@vger.kernel.org
---
 drivers/spi/spi-microchip-core-qspi.c | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/drivers/spi/spi-microchip-core-qspi.c b/drivers/spi/spi-microchip-core-qspi.c
index d13a9b755c7f8..8dc98b17f77b5 100644
--- a/drivers/spi/spi-microchip-core-qspi.c
+++ b/drivers/spi/spi-microchip-core-qspi.c
@@ -531,10 +531,6 @@ static int mchp_coreqspi_exec_op(struct spi_mem *mem, const struct spi_mem_op *o
 
 static bool mchp_coreqspi_supports_op(struct spi_mem *mem, const struct spi_mem_op *op)
 {
-	struct mchp_coreqspi *qspi = spi_controller_get_devdata(mem->spi->controller);
-	unsigned long clk_hz;
-	u32 baud_rate_val;
-
 	if (!spi_mem_default_supports_op(mem, op))
 		return false;
 
@@ -557,14 +553,6 @@ static bool mchp_coreqspi_supports_op(struct spi_mem *mem, const struct spi_mem_
 			return false;
 	}
 
-	clk_hz = clk_get_rate(qspi->clk);
-	if (!clk_hz)
-		return false;
-
-	baud_rate_val = DIV_ROUND_UP(clk_hz, 2 * op->max_freq);
-	if (baud_rate_val > MAX_DIVIDER || baud_rate_val < MIN_DIVIDER)
-		return false;
-
 	return true;
 }
 
-- 
2.47.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v1] spi: microchip-core-qspi: stop checking viability of op->max_freq in supports_op callback
  2025-08-25 11:53 [PATCH v1] spi: microchip-core-qspi: stop checking viability of op->max_freq in supports_op callback Conor Dooley
@ 2025-08-29 22:19 ` Mark Brown
  2025-09-01 22:15 ` Mark Brown
  1 sibling, 0 replies; 3+ messages in thread
From: Mark Brown @ 2025-08-29 22:19 UTC (permalink / raw)
  To: linux-spi, Conor Dooley
  Cc: Conor Dooley, stable, Valentina Fernandez, Daire McNamara,
	Miquel Raynal, linux-kernel

On Mon, 25 Aug 2025 12:53:28 +0100, Conor Dooley wrote:
> In commit 13529647743d9 ("spi: microchip-core-qspi: Support per spi-mem
> operation frequency switches") the logic for checking the viability of
> op->max_freq in mchp_coreqspi_setup_clock() was copied into
> mchp_coreqspi_supports_op(). Unfortunately, op->max_freq is not valid
> when this function is called during probe but is instead zero.
> Accordingly, baud_rate_val is calculated to be INT_MAX due to division
> by zero, causing probe of the attached memory device to fail.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next

Thanks!

[1/1] spi: microchip-core-qspi: stop checking viability of op->max_freq in supports_op callback
      commit: 89e7353f522f5cf70cb48c01ce2dcdcb275b8022

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v1] spi: microchip-core-qspi: stop checking viability of op->max_freq in supports_op callback
  2025-08-25 11:53 [PATCH v1] spi: microchip-core-qspi: stop checking viability of op->max_freq in supports_op callback Conor Dooley
  2025-08-29 22:19 ` Mark Brown
@ 2025-09-01 22:15 ` Mark Brown
  1 sibling, 0 replies; 3+ messages in thread
From: Mark Brown @ 2025-09-01 22:15 UTC (permalink / raw)
  To: linux-spi, Conor Dooley
  Cc: Conor Dooley, stable, Valentina Fernandez, Daire McNamara,
	Miquel Raynal, linux-kernel

On Mon, 25 Aug 2025 12:53:28 +0100, Conor Dooley wrote:
> In commit 13529647743d9 ("spi: microchip-core-qspi: Support per spi-mem
> operation frequency switches") the logic for checking the viability of
> op->max_freq in mchp_coreqspi_setup_clock() was copied into
> mchp_coreqspi_supports_op(). Unfortunately, op->max_freq is not valid
> when this function is called during probe but is instead zero.
> Accordingly, baud_rate_val is calculated to be INT_MAX due to division
> by zero, causing probe of the attached memory device to fail.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next

Thanks!

[1/1] spi: microchip-core-qspi: stop checking viability of op->max_freq in supports_op callback
      commit: 89e7353f522f5cf70cb48c01ce2dcdcb275b8022

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-09-01 22:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-25 11:53 [PATCH v1] spi: microchip-core-qspi: stop checking viability of op->max_freq in supports_op callback Conor Dooley
2025-08-29 22:19 ` Mark Brown
2025-09-01 22:15 ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).