Print host state and register dumps while suspend or resume flow is failed. Signed-off-by: Stanley Chu <stanley.chu@xxxxxxxxxxxx> --- drivers/scsi/ufs/ufs-mediatek.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/ufs/ufs-mediatek.c b/drivers/scsi/ufs/ufs-mediatek.c index d56ce8d97d4e..b0f626f6f9fe 100644 --- a/drivers/scsi/ufs/ufs-mediatek.c +++ b/drivers/scsi/ufs/ufs-mediatek.c @@ -469,22 +469,25 @@ static int ufs_mtk_link_set_hpm(struct ufs_hba *hba) err = ufshcd_hba_enable(hba); if (err) - return err; + goto out; err = ufs_mtk_unipro_set_pm(hba, 0); if (err) - return err; + goto out; err = ufshcd_uic_hibern8_exit(hba); if (!err) ufshcd_set_link_active(hba); else - return err; + goto out; err = ufshcd_make_hba_operational(hba); if (err) - return err; - + goto out; +out: + if (err) + ufshcd_print_info(hba, UFS_INFO_HOST_STATE | + UFS_INFO_HOST_REGS | UFS_INFO_PWR); return 0; } @@ -494,6 +497,9 @@ static int ufs_mtk_link_set_lpm(struct ufs_hba *hba) err = ufs_mtk_unipro_set_pm(hba, 1); if (err) { + ufshcd_print_info(hba, UFS_INFO_HOST_STATE | + UFS_INFO_HOST_REGS | UFS_INFO_PWR); + /* Resume UniPro state for following error recovery */ ufs_mtk_unipro_set_pm(hba, 0); return err; -- 2.18.0