diff options
author | Clark Wang <xiaoning.wang@nxp.com> | 2023-05-05 09:41:59 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-05-08 03:11:47 +0300 |
commit | f571d9132e0657b4aae40a8ffe758224d1f41047 (patch) | |
tree | b3ed0e9411eea84727eff4ede9c813f5af0f4794 /drivers/spi/spi-fsl-lpspi.c | |
parent | 47e0255989560fbfd6cd0e03407982f37fdabe5a (diff) | |
download | linux-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.c | 6 |
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"); |