]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
spi: mtk_snor: check return value of mtk_snor_cmd_exec()
authorNoah.Shen <noah.shen@mediatek.com>
Mon, 6 Apr 2026 20:13:30 +0000 (15:13 -0500)
committerDavid Lechner <dlechner@baylibre.com>
Tue, 28 Apr 2026 18:11:19 +0000 (13:11 -0500)
Always check the return value of mtk_snor_cmd_exec() and propagate the
error.

Signed-off-by: Noah.Shen <noah.shen@mediatek.com>
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260406-mtk-spi-nor-improvements-v1-4-66f675cbbd3e@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
drivers/spi/mtk_snor.c

index 674e723db011301752ed79441a4718cdc9a8cde3..babdb4600d58bbe128f1c2beee5d75ab09a35617 100644 (file)
@@ -362,8 +362,12 @@ static int mtk_snor_pp_buffered(struct mtk_snor_priv *priv,
                      buf[i];
                writel(val, priv->base + MTK_NOR_REG_PP_DATA);
        }
-       mtk_snor_cmd_exec(priv, MTK_NOR_CMD_WRITE,
-                         (op->data.nbytes + 5) * BITS_PER_BYTE);
+
+       ret = mtk_snor_cmd_exec(priv, MTK_NOR_CMD_WRITE,
+                               (op->data.nbytes + 5) * BITS_PER_BYTE);
+       if (ret)
+               return ret;
+
        return mtk_snor_write_buffer_disable(priv);
 }
 
@@ -386,7 +390,7 @@ static int mtk_snor_cmd_program(struct mtk_snor_priv *priv,
        int rx_len = 0;
        int reg_offset = MTK_NOR_REG_PRGDATA_MAX;
        int tx_len, prg_len;
-       int i;
+       int i, ret;
        void __iomem *reg;
        u8 val;
 
@@ -435,7 +439,9 @@ static int mtk_snor_cmd_program(struct mtk_snor_priv *priv,
        /* trigger op */
        writel(prg_len * BITS_PER_BYTE, priv->base + MTK_NOR_REG_PRG_CNT);
 
-       mtk_snor_cmd_exec(priv, MTK_NOR_CMD_PROGRAM, prg_len * BITS_PER_BYTE);
+       ret = mtk_snor_cmd_exec(priv, MTK_NOR_CMD_PROGRAM, prg_len * BITS_PER_BYTE);
+       if (ret)
+               return ret;
 
        /* fetch read data */
        reg_offset = 0;