spi: zynq-qspi: Add check for clk_enable()
authorMingwei Zheng <zmw12306@gmail.com>
Sat, 7 Dec 2024 01:52:06 +0000 (20:52 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 9 Dec 2024 13:14:35 +0000 (13:14 +0000)
Add check for the return value of clk_enable() to catch the potential
error.

Fixes: c618a90dcaf3 ("spi: zynq-qspi: Drop GPIO header")
Signed-off-by: Mingwei Zheng <zmw12306@gmail.com>
Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com>
Link: https://patch.msgid.link/20241207015206.3689364-1-zmw12306@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-zynq-qspi.c

index dee9c339a35e74c86fe1c768990a3f870b0a1b9d..5caf0abf3763a86ef520e41cd039055c6ee434bb 100644 (file)
@@ -379,12 +379,21 @@ static int zynq_qspi_setup_op(struct spi_device *spi)
 {
        struct spi_controller *ctlr = spi->controller;
        struct zynq_qspi *qspi = spi_controller_get_devdata(ctlr);
+       int ret;
 
        if (ctlr->busy)
                return -EBUSY;
 
-       clk_enable(qspi->refclk);
-       clk_enable(qspi->pclk);
+       ret = clk_enable(qspi->refclk);
+       if (ret)
+               return ret;
+
+       ret = clk_enable(qspi->pclk);
+       if (ret) {
+               clk_disable(qspi->refclk);
+               return ret;
+       }
+
        zynq_qspi_write(qspi, ZYNQ_QSPI_ENABLE_OFFSET,
                        ZYNQ_QSPI_ENABLE_ENABLE_MASK);