Re: [PATCH 1/1] scsi: ufs: core: Schedule EH on WLUN resume failure

From: Peter Wang (王信友)

Date: Sun Jan 25 2026 - 22:43:04 EST


On Fri, 2026-01-23 at 04:54 +0000, Po-Wen Kao wrote:
> From: Brian Kao <powenkao@xxxxxxxxxx>
>
> On WLUN resume failed, core driver leaves wlun dev in error runtime
> PM state without taking further action. To ensure the driver can
> recover
> from such errors, this patch schedules the error handler to perform
> a full reset when error occurs during WLUN resume.
>

Hi Powen,

May I know at which step in __ufshcd_wl_resume the error occurred?


> Signed-off-by: Brian Kao <powenkao@xxxxxxxxxx>
> ---
>  drivers/ufs/core/ufshcd.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
> index 057678f4c50a..ac4db8484ee5 100644
> --- a/drivers/ufs/core/ufshcd.c
> +++ b/drivers/ufs/core/ufshcd.c
> @@ -10236,6 +10236,15 @@ static int __ufshcd_wl_resume(struct ufs_hba
> *hba, enum ufs_pm_op pm_op)
>   hba->clk_gating.is_suspended = false;
>   ufshcd_release(hba);
>   hba->pm_op_in_progress = false;
> +
> + if (ret) {
> + /* ufshcd_reset_and_restore() might set host to
> UFSHCD_STATE_ERROR */
> + scoped_guard(spinlock_irqsave, hba->host->host_lock)
> + hba->ufshcd_state = UFSHCD_STATE_RESET;
> +
> + ufshcd_force_error_recovery(hba);
> + }
> +
>   return ret;
>

After recovery, is the return value still an error?

Thanks.
Peter


>  }
>  
>
> base-commit: a9e03ec01ef2633288fd1b506980f54ae41c5a85