Hi Can,

On Tue, 2020-12-08 at 22:58 -0800, Can Guo wrote:
> ufshcd_hba_exit() is always called after ufshcd_exit_clk_scaling() and
> ufshcd_exit_clk_gating(), so no need to suspend clock scaling again in
> ufshcd_hba_exit().
> 
> Signed-off-by: Can Guo <[email protected]>
> ---
>  drivers/scsi/ufs/ufshcd.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index 12266bd..0a5b197 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -7765,6 +7765,7 @@ static void ufshcd_async_scan(void *data, 
> async_cookie_t cookie)
>       if (ret) {
>               pm_runtime_put_sync(hba->dev);
>               ufshcd_exit_clk_scaling(hba);
> +             ufshcd_exit_clk_gating(hba);

How about moving above two lines to ufshcd_hba_exit()?

Otherwise looks good to me!
Reviewed-by: Stanley Chu <[email protected]>

>               ufshcd_hba_exit(hba);
>       }
>  }
> @@ -8203,10 +8204,6 @@ static void ufshcd_hba_exit(struct ufs_hba *hba)
>       if (hba->is_powered) {
>               ufshcd_variant_hba_exit(hba);
>               ufshcd_setup_vreg(hba, false);
> -             ufshcd_suspend_clkscaling(hba);
> -             if (ufshcd_is_clkscaling_supported(hba))
> -                     if (hba->devfreq)
> -                             ufshcd_suspend_clkscaling(hba);
>               ufshcd_setup_clocks(hba, false);
>               ufshcd_setup_hba_vreg(hba, false);
>               hba->is_powered = false;

Reply via email to