spi: stm32-qspi: Fix stm32_qspi_transfer_one_message() error path
authorPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 26 Aug 2022 09:20:31 +0000 (11:20 +0200)
committerMark Brown <broonie@kernel.org>
Sun, 28 Aug 2022 19:20:11 +0000 (20:20 +0100)
The patch a557fca630cc: "spi: stm32_qspi: Add transfer_one_message()
spi callback" from Aug 23, 2022, leads to the following Smatch static
checker warning:

drivers/spi/spi-stm32-qspi.c:627 stm32_qspi_transfer_one_message()
error: uninitialized symbol 'ret'.Fix the following Smatch static checker warning:

Fixes: a557fca630cc ("spi: stm32_qspi: Add transfer_one_message() spi callback")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Link: https://lore.kernel.org/r/20220826092031.1393430-1-patrice.chotard@foss.st.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-stm32-qspi.c

index 92459da..679fd1c 100644 (file)
@@ -562,7 +562,7 @@ static int stm32_qspi_transfer_one_message(struct spi_controller *ctrl,
        struct spi_transfer *transfer;
        struct spi_device *spi = msg->spi;
        struct spi_mem_op op;
-       int ret;
+       int ret = 0;
 
        if (!spi->cs_gpiod)
                return -EOPNOTSUPP;
@@ -592,8 +592,10 @@ static int stm32_qspi_transfer_one_message(struct spi_controller *ctrl,
                        dummy_bytes = transfer->len;
 
                        /* if happens, means that message is not correctly built */
-                       if (list_is_last(&transfer->transfer_list, &msg->transfers))
+                       if (list_is_last(&transfer->transfer_list, &msg->transfers)) {
+                               ret = -EINVAL;
                                goto end_of_transfer;
+                       }
 
                        transfer = list_next_entry(transfer, transfer_list);
                }