summaryrefslogtreecommitdiff
path: root/drivers/spi/spi-fsl-lpspi.c
diff options
context:
space:
mode:
authorClark Wang <xiaoning.wang@nxp.com>2023-05-05 09:41:59 +0300
committerMark Brown <broonie@kernel.org>2023-05-08 03:11:47 +0300
commitf571d9132e0657b4aae40a8ffe758224d1f41047 (patch)
treeb3ed0e9411eea84727eff4ede9c813f5af0f4794 /drivers/spi/spi-fsl-lpspi.c
parent47e0255989560fbfd6cd0e03407982f37fdabe5a (diff)
downloadlinux-f571d9132e0657b4aae40a8ffe758224d1f41047.tar.xz
spi: lpspi: run transfer speed_hz sanity check
Avoid config.speed_hz is 0 when it is a divisor. Signed-off-by: Han Xu <han.xu@nxp.com Signed-off-by: Clark Wang <xiaoning.wang@nxp.com Link: https://lore.kernel.org/r/20230505064159.3964473-1-xiaoning.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org
Diffstat (limited to 'drivers/spi/spi-fsl-lpspi.c')
-rw-r--r--drivers/spi/spi-fsl-lpspi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/spi/spi-fsl-lpspi.c b/drivers/spi/spi-fsl-lpspi.c
index f2341ab99556..d9f8231bcea8 100644
--- a/drivers/spi/spi-fsl-lpspi.c
+++ b/drivers/spi/spi-fsl-lpspi.c
@@ -303,6 +303,12 @@ static int fsl_lpspi_set_bitrate(struct fsl_lpspi_data *fsl_lpspi)
perclk_rate = clk_get_rate(fsl_lpspi->clk_per);
+ if (!config.speed_hz) {
+ dev_err(fsl_lpspi->dev,
+ "error: the transmission speed provided is 0!\n");
+ return -EINVAL;
+ }
+
if (config.speed_hz > perclk_rate / 2) {
dev_err(fsl_lpspi->dev,
"per-clk should be at least two times of transfer speed");