mtd: spi-nor: hisi-sfc: Remove excessive clk_disable_unprepare()
authorEvgeny Novikov <novikov@ispras.ru>
Fri, 9 Jul 2021 14:45:29 +0000 (17:45 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:17:01 +0000 (19:17 +0100)
[ Upstream commit 78e4d342187625585932bb437ec26e1060f7fc6f ]

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@ispras.ru>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Reviewed-by: Pratyush Yadav <p.yadav@ti.com>
Link: https://lore.kernel.org/r/20210709144529.31379-1-novikov@ispras.ru
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mtd/spi-nor/controllers/hisi-sfc.c

index 47fbf1d1e5573fc040cadcf9c44db426d547c2af..516e5026947802e1ad9feb24d53d5e489c3b5d31 100644 (file)
@@ -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;
 }