From: Bean Huo <huobean@gmail.com>
To: 이승희 <sh043.lee@samsung.com>,
alim.akhtar@samsung.com, avri.altman@wdc.com, bvanassche@acm.org,
James.Bottomley@HansenPartnership.com,
martin.petersen@oracle.com, linux-scsi@vger.kernel.org,
sdriver.sec@samsung.com
Subject: Re: [PATCH] ufs: core: Use link recovery when the h8 exit failure during runtime resume
Date: Tue, 15 Jul 2025 17:21:43 +0200 [thread overview]
Message-ID: <cd0959939d2fefe927b66ca12620c094c4cfb7a2.camel@gmail.com> (raw)
In-Reply-To: <000901dbf52f$63a69090$2af3b1b0$@samsung.com>
On Tue, 2025-07-15 at 11:23 +0900, 이승희 wrote:
>
> 2> if eh_in_progress, err EBUSY return in ufshcd_runtime_suspend to guarantee the error handling done.
> -> It doesn't work as well.
>
> --- a/common/drivers/ufs/core/ufshcd.c
> +++ b/common/drivers/ufs/core/ufshcd.c
> @@ -10371,6 +10371,9 @@ int ufshcd_runtime_suspend(struct device *dev)
> int ret;
> ktime_t start = ktime_get();
>
> + if (ufshcd_eh_in_progress(hba))
> + return -EBUSY;
> +
> ret = ufshcd_suspend(hba);
>
> trace_ufshcd_runtime_suspend(hba, ret,
>
> [ 63.010841] [4: kworker/4:0: 52] ufshcd-qcom 1d84000.ufshc: ufshcd_uic_hibern8_exit: hibern8 exit failed. ret = -110
> [ 63.010844] [4: kworker/4:0: 52] ufshcd-qcom 1d84000.ufshc: __ufshcd_wl_resume: hibern8 exit failed -110
>
> [ 63.010845] [0: kworker/u32:10:13604] ufshcd-qcom 1d84000.ufshc: ufshcd_err_handler started; HBA state eh_fatal; powered 1; shutting down 0; saved_err = 0; saved_uic_err = 0; force_reset = 0;
> link is broken
>
> [ 63.011430] [4: kworker/4:0: 52] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_resume failed: -110
> [ 63.011433] [4: kworker/4:0: 52] ufs_device_wlun 0:0:0:49488: ufshcd_wl_runtime_resume: 574917us, pwr_mode(1), link state(3)
> -> ufshcd_wl_runtime_resume failed done.
> -> ufshcd_rpm_get_sync() in ufshcd_err_handling_prepare()
>
> [ 63.011457] [4: kworker/4:0: 52] ufshcd-qcom 1d84000.ufshc: ufshcd_runtime_suspend: eh_in_progress
> -> EBUSY return in ufshcd_runtime_suspend due to eh_in_progress
>
> [ 63.011464]I[0: kworker/u32:10:13604] ufshcd-qcom 1d84000.ufshc: ufshcd_check_errors: Auto Hibern8 Exit failed - status: 0x00000020, upmcrs: 0x00000001
> [ 63.011468]I[0: kworker/u32:10:13604] ufshcd-qcom 1d84000.ufshc: ufshcd_check_errors: saved_err 0x20 saved_uic_err 0x0
>
> [ 63.039824] [0: kworker/u32:10:13604] ufshcd-qcom 1d84000.ufshc: ufs_qcom_device_reset: Waiting for device internal cache flush
>
> [ 65.084604] [0: kworker/u32:10:13604] ufshcd-qcom 1d84000.ufshc: ESI configured
> [ 65.084728] [0: kworker/u32:10:13604] ufshcd-qcom 1d84000.ufshc: MCQ configured, nr_queues=9, io_queues=8, read_queue=0, poll_queues=1, queue_depth=64
> -> ufshcd_reset_and_restore() works well.
>
> [ 65.105186] [1: kworker/u32:10:13604] ufs_device_wlun 0:0:0:49488: runtime PM trying to activate child device 0:0:0:49488 but parent (target0:0:0) is not active
> -> ufschd_recover_pm_err()
> -> Because of this error, pm_request_resume doesn't call here.
You patched ufshcd_runtime_suspend() to return -EBUSY if eh_in_progress is true — meant to avoid suspend during error handling. I don't understand why here parent is not active?
would like to try return -EAGAIN?
Kind regards,
Bean
next prev parent reply other threads:[~2025-07-15 15:21 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20250714090630epcas1p28ab8afec11bbab4d256dfe6649d3b00b@epcas1p2.samsung.com>
2025-07-14 9:06 ` [PATCH] ufs: core: Use link recovery when the h8 exit failure during runtime resume Seunghui Lee
2025-07-14 11:21 ` Bean Huo
2025-07-15 2:23 ` 이승희
2025-07-15 12:47 ` Bean Huo
2025-07-15 15:21 ` Bean Huo [this message]
2025-07-16 7:01 ` Seunghui Lee
2025-07-16 7:49 ` Seunghui Lee
2025-07-16 13:35 ` Bean Huo
2025-07-16 15:02 ` Bart Van Assche
2025-07-17 6:12 ` Seunghui Lee
2025-07-16 15:14 ` Bart Van Assche
2025-07-17 6:01 ` Seunghui Lee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cd0959939d2fefe927b66ca12620c094c4cfb7a2.camel@gmail.com \
--to=huobean@gmail.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=alim.akhtar@samsung.com \
--cc=avri.altman@wdc.com \
--cc=bvanassche@acm.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=sdriver.sec@samsung.com \
--cc=sh043.lee@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.