未验证 提交 6820e812 编写于 作者: T Tudor Ambarus 提交者: Mark Brown

spi: Fix the clamping of spi->max_speed_hz

If spi->controller->max_speed_hz is zero, a non-zero spi->max_speed_hz
will be overwritten by zero. Make sure spi->controller->max_speed_hz
is not zero when clamping spi->max_speed_hz.

Put the spi->controller->max_speed_hz non-zero check higher in the if,
so that we avoid a superfluous init to zero when both spi->max_speed_hz
and spi->controller->max_speed_hz are zero.

Fixes: 9326e4f1 ("spi: Limit the spi device max speed to controller's max speed")
Reported-by: NGeert Uytterhoeven <geert@linux-m68k.org>
Suggested-by: NGeert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: NTudor Ambarus <tudor.ambarus@microchip.com>
Tested-by: NGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20201216092321.413262-1-tudor.ambarus@microchip.comSigned-off-by: NMark Brown <broonie@kernel.org>
上级 ede090f5
...@@ -3378,8 +3378,9 @@ int spi_setup(struct spi_device *spi) ...@@ -3378,8 +3378,9 @@ int spi_setup(struct spi_device *spi)
if (status) if (status)
return status; return status;
if (!spi->max_speed_hz || if (spi->controller->max_speed_hz &&
spi->max_speed_hz > spi->controller->max_speed_hz) (!spi->max_speed_hz ||
spi->max_speed_hz > spi->controller->max_speed_hz))
spi->max_speed_hz = spi->controller->max_speed_hz; spi->max_speed_hz = spi->controller->max_speed_hz;
mutex_lock(&spi->controller->io_mutex); mutex_lock(&spi->controller->io_mutex);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册