Loading drivers/scsi/ufs/ufshcd.c +15 −5 Original line number Diff line number Diff line Loading @@ -4308,15 +4308,25 @@ static int __ufshcd_uic_hibern8_enter(struct ufs_hba *hba) * mode hence full reinit is required to move link to HS speeds. */ if (ret || hba->full_init_linereset) { int err; hba->full_init_linereset = false; ufshcd_update_error_stats(hba, UFS_ERR_HIBERN8_ENTER); dev_err(hba->dev, "%s: hibern8 enter failed. ret = %d", __func__, ret); /* * If link recovery fails then return error so that caller * don't retry the hibern8 enter again. * If link recovery fails then return error code (-ENOLINK) * returned ufshcd_link_recovery(). * If link recovery succeeds then return -EAGAIN to attempt * hibern8 enter retry again. */ ret = ufshcd_link_recovery(hba); err = ufshcd_link_recovery(hba); if (err) { dev_err(hba->dev, "%s: link recovery failed", __func__); ret = err; } else { ret = -EAGAIN; } } else { dev_dbg(hba->dev, "%s: Hibern8 Enter at %lld us", __func__, ktime_to_us(ktime_get())); Loading @@ -4333,8 +4343,8 @@ int ufshcd_uic_hibern8_enter(struct ufs_hba *hba) ret = __ufshcd_uic_hibern8_enter(hba); if (!ret) goto out; else if (ret != -EAGAIN) /* Unable to recover the link, so no point proceeding */ if (ret == -ENOLINK) BUG(); } out: Loading Loading
drivers/scsi/ufs/ufshcd.c +15 −5 Original line number Diff line number Diff line Loading @@ -4308,15 +4308,25 @@ static int __ufshcd_uic_hibern8_enter(struct ufs_hba *hba) * mode hence full reinit is required to move link to HS speeds. */ if (ret || hba->full_init_linereset) { int err; hba->full_init_linereset = false; ufshcd_update_error_stats(hba, UFS_ERR_HIBERN8_ENTER); dev_err(hba->dev, "%s: hibern8 enter failed. ret = %d", __func__, ret); /* * If link recovery fails then return error so that caller * don't retry the hibern8 enter again. * If link recovery fails then return error code (-ENOLINK) * returned ufshcd_link_recovery(). * If link recovery succeeds then return -EAGAIN to attempt * hibern8 enter retry again. */ ret = ufshcd_link_recovery(hba); err = ufshcd_link_recovery(hba); if (err) { dev_err(hba->dev, "%s: link recovery failed", __func__); ret = err; } else { ret = -EAGAIN; } } else { dev_dbg(hba->dev, "%s: Hibern8 Enter at %lld us", __func__, ktime_to_us(ktime_get())); Loading @@ -4333,8 +4343,8 @@ int ufshcd_uic_hibern8_enter(struct ufs_hba *hba) ret = __ufshcd_uic_hibern8_enter(hba); if (!ret) goto out; else if (ret != -EAGAIN) /* Unable to recover the link, so no point proceeding */ if (ret == -ENOLINK) BUG(); } out: Loading