mtd: st_spi_fsm: Add a clk_disable_unprepare() in .probe()'s error path
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tue, 7 Jun 2022 15:24:55 +0000 (17:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:23:41 +0000 (14:23 +0200)
[ Upstream commit 28607b426c3d050714f250d0faeb99d2e9106e90 ]

For all but one error path clk_disable_unprepare() is already there. Add
it to the one location where it's missing.

Fixes: 481815a6193b ("mtd: st_spi_fsm: Handle clk_prepare_enable/clk_disable_unprepare.")
Fixes: 69d5af8d016c ("mtd: st_spi_fsm: Obtain and use EMI clock")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20220607152458.232847-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mtd/devices/st_spi_fsm.c

index 983999c..48bda2d 100644 (file)
@@ -2115,10 +2115,12 @@ static int stfsm_probe(struct platform_device *pdev)
                (long long)fsm->mtd.size, (long long)(fsm->mtd.size >> 20),
                fsm->mtd.erasesize, (fsm->mtd.erasesize >> 10));
 
-       return mtd_device_register(&fsm->mtd, NULL, 0);
-
+       ret = mtd_device_register(&fsm->mtd, NULL, 0);
+       if (ret) {
 err_clk_unprepare:
-       clk_disable_unprepare(fsm->clk);
+               clk_disable_unprepare(fsm->clk);
+       }
+
        return ret;
 }