On 0 byte transfer request, return straight from the
xfer function after finalizing the transfer.

Fixes: dcbe0d84dfa5 ("spi: add driver for STM32 SPI controller")
Signed-off-by: Alain Volmat <alain.vol...@foss.st.com>
---
 drivers/spi/spi-stm32.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/spi/spi-stm32.c b/drivers/spi/spi-stm32.c
index db3e305d9ec4..137213633e6d 100644
--- a/drivers/spi/spi-stm32.c
+++ b/drivers/spi/spi-stm32.c
@@ -1657,6 +1657,12 @@ static int stm32_spi_transfer_one(struct spi_master 
*master,
        struct stm32_spi *spi = spi_master_get_devdata(master);
        int ret;
 
+       /* Don't do anything on 0 bytes transfers */
+       if (transfer->len == 0) {
+               spi_finalize_current_transfer(master);
+               return 0;
+       }
+
        spi->tx_buf = transfer->tx_buf;
        spi->rx_buf = transfer->rx_buf;
        spi->tx_len = spi->tx_buf ? transfer->len : 0;
-- 
2.17.1

Reply via email to