Fix the missing clk_disable_unprepare() before return
from mt7621_spi_probe in the error handling case.

Fixes: cbd66c626e16 ("spi: mt7621: Move SPI driver out of staging")
Signed-off-by: Qinglang Miao <miaoqingl...@huawei.com>
---
 drivers/spi/spi-mt7621.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/spi/spi-mt7621.c b/drivers/spi/spi-mt7621.c
index 2c3b7a2a1..2cdae7994 100644
--- a/drivers/spi/spi-mt7621.c
+++ b/drivers/spi/spi-mt7621.c
@@ -353,6 +353,7 @@ static int mt7621_spi_probe(struct platform_device *pdev)
        master = spi_alloc_master(&pdev->dev, sizeof(*rs));
        if (!master) {
                dev_info(&pdev->dev, "master allocation failed\n");
+               clk_disable_unprepare(clk);
                return -ENOMEM;
        }
 
@@ -377,6 +378,7 @@ static int mt7621_spi_probe(struct platform_device *pdev)
        ret = device_reset(&pdev->dev);
        if (ret) {
                dev_err(&pdev->dev, "SPI reset failed!\n");
+               clk_disable_unprepare(clk);
                return ret;
        }
 
-- 
2.23.0

Reply via email to