[PATCH 4/8] spi: mtk_snor: check return value of mtk_snor_cmd_exec()

David Lechner dlechner at baylibre.com
Mon Apr 6 22:13:30 CEST 2026


From: "Noah.Shen" <noah.shen at mediatek.com>

Always check the return value of mtk_snor_cmd_exec() and propagate the
error.

Signed-off-by: Noah.Shen <noah.shen at mediatek.com>
Signed-off-by: David Lechner <dlechner at baylibre.com>
---
 drivers/spi/mtk_snor.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/spi/mtk_snor.c b/drivers/spi/mtk_snor.c
index 674e723db01..babdb4600d5 100644
--- a/drivers/spi/mtk_snor.c
+++ b/drivers/spi/mtk_snor.c
@@ -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;

-- 
2.43.0



More information about the U-Boot mailing list