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

Pratyush Yadav p.yadav at ti.com
Fri Jul 9 13:19:32 MSK 2021


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 at ti.com>

> Signed-off-by: Evgeny Novikov <novikov at ispras.ru>
> ---
>  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.



More information about the ldv-project mailing list