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

From: Pratyush Yadav
Date: Fri Jul 09 2021 - 06:20:09 EST


On 09/07/21 12:35PM, Evgeny Novikov wrote:
> hisi_spi_nor_probe() invokes clk_disable_unprepare() on all paths after
> successful call of clk_prepare_enable(), so, there is no need in one
> more clk_disable_unprepare() in hisi_spi_nor_remove(). The patch fixes
> that.

This is true, but I think the patch should also mention that 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 big point is not that the probe disabled the clock, but that every
path would make sure to disable the clock, so it will already be
disabled when remove is called.

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

Fixes tag?

With these comments addressed,

Reviewed-by: Pratyush Yadav <p.yadav@xxxxxx>

> Signed-off-by: Evgeny Novikov <novikov@xxxxxxxxx>
> ---
> 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
>

--
Regards,
Pratyush Yadav
Texas Instruments Inc.