spi: exynos: Remove extra term from test
authorAndrew Goodbody <andrew.goodbody@linaro.org>
Mon, 1 Sep 2025 15:13:14 +0000 (16:13 +0100)
committerMinkyu Kang <mk7.kang@samsung.com>
Wed, 3 Sep 2025 10:32:38 +0000 (19:32 +0900)
In spi_rx_tx there comes a test for execution of a code block that
allows execution if rxp is not NULL or stopping is true. However all the
code in this block relies on rxp being valid so allowing entry just if
stopping is true does not make sense. So remove this from the test
expression leaving just a NULL check for rxp.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
drivers/spi/exynos_spi.c

index 1b9bf00..7f2965f 100644 (file)
@@ -105,14 +105,10 @@ static int spi_rx_tx(struct exynos_spi_priv *priv, int todo,
        uint out_bytes, in_bytes;
        int toread;
        unsigned start = get_timer(0);
-       int stopping;
        int step;
 
        out_bytes = in_bytes = todo;
 
-       stopping = priv->skip_preamble && (flags & SPI_XFER_END) &&
-                                       !(priv->mode & SPI_SLAVE);
-
        /*
         * Try to transfer words if we can. This helps read performance at
         * SPI clock speeds above about 20MHz.
@@ -161,12 +157,10 @@ static int spi_rx_tx(struct exynos_spi_priv *priv, int todo,
                        while (rx_lvl >= step) {
                                temp = readl(&regs->rx_data);
                                if (priv->skip_preamble) {
-                                       if (temp == SPI_PREAMBLE_END_BYTE) {
+                                       if (temp == SPI_PREAMBLE_END_BYTE)
                                                priv->skip_preamble = 0;
-                                               stopping = 0;
-                                       }
                                } else {
-                                       if (rxp || stopping) {
+                                       if (rxp) {
                                                if (step == 4)
                                                        *(uint32_t *)rxp = temp;
                                                else