]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
spi: mt7621: fix missing clk_disable_unprepare() on error in mt7621_spi_probe
authorQinglang Miao <miaoqinglang@huawei.com>
Tue, 3 Nov 2020 07:49:12 +0000 (15:49 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:26:14 +0000 (11:26 +0100)
commit 702b15cb97123cedcec56a39d9a21c5288eb9ae1 upstream.

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 <miaoqinglang@huawei.com>
Link: https://lore.kernel.org/r/20201103074912.195576-1-miaoqinglang@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/mt7621-spi/spi-mt7621.c

index 578aa6824ad3e3dae3e3d1ffbb4388e84d5d947a..33c747bc83202e695cce11467c7b2457f979c2ce 100644 (file)
@@ -455,6 +455,7 @@ static int mt7621_spi_probe(struct platform_device *pdev)
        master = spi_alloc_master(&pdev->dev, sizeof(*rs));
        if (master == NULL) {
                dev_info(&pdev->dev, "master allocation failed\n");
+               clk_disable_unprepare(clk);
                return -ENOMEM;
        }
 
@@ -480,6 +481,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;
        }