Message ID | 1596610933-32599-16-git-send-email-alain.volmat@st.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | spi: stm32: various driver enhancements | expand |
On Wed, Aug 05, 2020 at 09:02:10AM +0200, Alain Volmat wrote: > From: Amelie Delaunay <amelie.delaunay@st.com> > > Fix spi->clk_rate when it is odd to the nearest lowest even value because > minimum SPI divider is 2. This is a fix too.
diff --git a/drivers/spi/spi-stm32.c b/drivers/spi/spi-stm32.c index 0aec32538093..2665d8d7f318 100644 --- a/drivers/spi/spi-stm32.c +++ b/drivers/spi/spi-stm32.c @@ -436,7 +436,8 @@ static int stm32_spi_prepare_mbr(struct stm32_spi *spi, u32 speed_hz, { u32 div, mbrdiv; - div = DIV_ROUND_UP(spi->clk_rate, speed_hz); + /* Ensure spi->clk_rate is even */ + div = DIV_ROUND_UP(spi->clk_rate & ~0x1, speed_hz); /* * SPI framework set xfer->speed_hz to master->max_speed_hz if