[PATCH v2] mtd: spi-nor: hisi-sfc: Remove excessive clk_disable_unprepare()

From: Evgeny Novikov
Date: Fri Jul 09 2021 - 10:45:37 EST


hisi_spi_nor_probe() invokes clk_disable_unprepare() on all paths after
successful call of clk_prepare_enable(). Besides, the clock is enabled by
hispi_spi_nor_prep() and disabled by hispi_spi_nor_unprep(). So at remove
time it is not possible to have the clock enabled. The patch removes
excessive clk_disable_unprepare() from hisi_spi_nor_remove().

Found by Linux Driver Verification project (linuxtesting.org).

Fixes: e523f11141bd ("mtd: spi-nor: add hisilicon spi-nor flash controller driver")
Signed-off-by: Evgeny Novikov <novikov@xxxxxxxxx>
Reviewed-by: Pratyush Yadav <p.yadav@xxxxxx>
---
v2: Fix notes from Pratyush Yadav:
- Describe better why clock disabling is not necessary at remove time.
- Add tag Fixes.
---
drivers/mtd/spi-nor/controllers/hisi-sfc.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/mtd/spi-nor/controllers/hisi-sfc.c b/drivers/mtd/spi-nor/controllers/hisi-sfc.c
index 47fbf1d1e557..516e50269478 100644
--- a/drivers/mtd/spi-nor/controllers/hisi-sfc.c
+++ b/drivers/mtd/spi-nor/controllers/hisi-sfc.c
@@ -477,7 +477,6 @@ static int hisi_spi_nor_remove(struct platform_device *pdev)

hisi_spi_nor_unregister_all(host);
mutex_destroy(&host->lock);
- clk_disable_unprepare(host->clk);
return 0;
}

--
2.26.2