Hi Can Guo,
>diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
>index 7ab6b12..090b654 100644
>--- a/drivers/scsi/ufs/ufshcd.c
>+++ b/drivers/scsi/ufs/ufshcd.c
>@@ -9058,11 +9058,12 @@ int ufshcd_system_suspend(struct ufs_hba *hba)
> if (!hba->is_powered)
> return 0;
>
>+ cancel_delayed_work_sync(&hba->rpm_dev_flush_recheck_work);
>+
> if ((ufs_get_pm_lvl_to_dev_pwr_mode(hba->spm_lvl) ==
> hba->curr_dev_pwr_mode) &&
> (ufs_get_pm_lvl_to_link_pwr_state(hba->spm_lvl) ==
>- hba->uic_link_state) &&
>- !hba->dev_info.b_rpm_dev_flush_capable)
I think it should not be removed.
It prevents power drain when runtime suspend and system suspend have same
power mode.
Thanks,
Daejun