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

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
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -263,8 +263,8 @@ static int stm32_spi_prepare_mbr(struct stm32_spi *spi, u32 speed_hz)
	 * no need to check it there.
	 * However, we need to ensure the following calculations.
	 */
	if ((div < SPI_MBR_DIV_MIN) &&
	    (div > SPI_MBR_DIV_MAX))
	if (div < SPI_MBR_DIV_MIN ||
	    div > SPI_MBR_DIV_MAX)
		return -EINVAL;

	/* Determine the first power of 2 greater than or equal to div */