Commit 8b5d729a authored by Christos Gkekas's avatar Christos Gkekas Committed by Mark Brown

spi: stm32: Fix logical error in stm32_spi_prepare_mbr()

stm32_spi_prepare_mbr() is returning an error value when div is less
than SPI_MBR_DIV_MIN *and* greater than SPI_MBR_DIV_MAX, which always
evaluates to false. This should change to use *or*.
Signed-off-by: default avatarChristos Gkekas <chris.gekas@gmail.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent ecb478bf
...@@ -263,8 +263,8 @@ static int stm32_spi_prepare_mbr(struct stm32_spi *spi, u32 speed_hz) ...@@ -263,8 +263,8 @@ static int stm32_spi_prepare_mbr(struct stm32_spi *spi, u32 speed_hz)
* no need to check it there. * no need to check it there.
* However, we need to ensure the following calculations. * However, we need to ensure the following calculations.
*/ */
if ((div < SPI_MBR_DIV_MIN) && if (div < SPI_MBR_DIV_MIN ||
(div > SPI_MBR_DIV_MAX)) div > SPI_MBR_DIV_MAX)
return -EINVAL; return -EINVAL;
/* Determine the first power of 2 greater than or equal to div */ /* Determine the first power of 2 greater than or equal to div */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment