[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <99f7a432182123d3bf38e5183cbb18457288b602.camel@mediatek.com>
Date: Mon, 26 Jan 2026 03:42:26 +0000
From: Peter Wang (王信友) <peter.wang@...iatek.com>
To: "powenkao@...gle.com" <powenkao@...gle.com>
CC: "beanhuo@...ron.com" <beanhuo@...ron.com>, "avri.altman@....com"
<avri.altman@....com>, "quic_nguyenb@...cinc.com" <quic_nguyenb@...cinc.com>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"bvanassche@....org" <bvanassche@....org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "alim.akhtar@...sung.com"
<alim.akhtar@...sung.com>, "adrian.hunter@...el.com"
<adrian.hunter@...el.com>, "James.Bottomley@...senPartnership.com"
<James.Bottomley@...senPartnership.com>, "martin.petersen@...cle.com"
<martin.petersen@...cle.com>
Subject: Re: [PATCH 1/1] scsi: ufs: core: Schedule EH on WLUN resume failure
On Fri, 2026-01-23 at 04:54 +0000, Po-Wen Kao wrote:
> From: Brian Kao <powenkao@...gle.com>
>
> 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@...gle.com>
> ---
> 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
Powered by blists - more mailing lists