mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
UPSTREAM: scsi: ufs: core: Correct ufshcd_shutdown() flow
After ufshcd_wl_shutdown() set device power off and link off, ufshcd_shutdown() could turn off clock/power. Also remove pm_runtime_get_sync. The reason why it is safe to remove pm_runtime_get_sync() is because: - ufshcd_wl_shutdown() -> pm_runtime_get_sync() will resume hba->dev too. - device resume(turn on clk/power) is not required, even if device is in RPM_SUSPENDED. Bug: 254441685 Link: https://lore.kernel.org/r/20220727030526.31022-1-peter.wang@mediatek.com Fixes:b294ff3e34("scsi: ufs: core: Enable power management for wlun") Cc: <stable@vger.kernel.org> # 5.15.x Reviewed-by: Stanley Chu <stanley.chu@mediatek.com> Signed-off-by: Peter Wang <peter.wang@mediatek.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit00511d2abf) Signed-off-by: Lee Jones <joneslee@google.com> Change-Id: I0b4e365484af5dcc432a2905c2775218becafdfa
This commit is contained in:
committed by
Treehugger Robot
parent
ea56f85395
commit
3691084606
@@ -9594,12 +9594,8 @@ EXPORT_SYMBOL(ufshcd_runtime_resume);
|
||||
int ufshcd_shutdown(struct ufs_hba *hba)
|
||||
{
|
||||
if (ufshcd_is_ufs_dev_poweroff(hba) && ufshcd_is_link_off(hba))
|
||||
goto out;
|
||||
ufshcd_suspend(hba);
|
||||
|
||||
pm_runtime_get_sync(hba->dev);
|
||||
|
||||
ufshcd_suspend(hba);
|
||||
out:
|
||||
hba->is_powered = false;
|
||||
/* allow force shutdown even in case of errors */
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user