* Re: [PATCH v5] ufs: core: wlun send SSU timeout recovery
2023-09-27 3:35 [PATCH v5] ufs: core: wlun send SSU timeout recovery peter.wang
@ 2023-09-27 18:31 ` Bart Van Assche
2023-09-28 1:58 ` Peter Wang (王信友)
2023-09-28 16:30 ` Bart Van Assche
` (2 subsequent siblings)
3 siblings, 1 reply; 6+ messages in thread
From: Bart Van Assche @ 2023-09-27 18:31 UTC (permalink / raw)
To: peter.wang, stanley.chu, linux-scsi, martin.petersen, avri.altman,
alim.akhtar, jejb
Cc: wsd_upstream, linux-mediatek, chun-hung.wu, alice.chao, cc.chou,
chaotian.jing, jiajie.hao, powen.kao, qilin.tan, lin.gui,
tun-yu.yu, eddie.huang, naomi.chu
On 9/26/23 20:35, peter.wang@mediatek.com wrote:
> + if (hba->pm_op_in_progress) {
> + if (ufshcd_link_recovery(hba))
> + err = FAILED;
> +
> + return err;
> + }
This patch looks good to me but I wish the above code would have been
written using the style that is preferred in the Linux kernel:
if (hba->pm_op_in_progress && ufshcd_link_recovery(hba) < 0)
return FAILED;
Thanks,
Bart.
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH v5] ufs: core: wlun send SSU timeout recovery
2023-09-27 18:31 ` Bart Van Assche
@ 2023-09-28 1:58 ` Peter Wang (王信友)
0 siblings, 0 replies; 6+ messages in thread
From: Peter Wang (王信友) @ 2023-09-28 1:58 UTC (permalink / raw)
To: linux-scsi@vger.kernel.org, bvanassche@acm.org,
avri.altman@wdc.com, Stanley Chu (朱原陞),
alim.akhtar@samsung.com, martin.petersen@oracle.com,
jejb@linux.ibm.com
Cc: linux-mediatek@lists.infradead.org,
Jiajie Hao (郝加节),
CC Chou (周志杰),
Eddie Huang (黃智傑),
Alice Chao (趙珮均), wsd_upstream,
Lin Gui (桂林),
Chun-Hung Wu (巫駿宏),
Tun-yu Yu (游敦聿),
Chaotian Jing (井朝天),
Powen Kao (高伯文),
Naomi Chu (朱詠田),
Qilin Tan (谭麒麟)
On Wed, 2023-09-27 at 11:31 -0700, Bart Van Assche wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> On 9/26/23 20:35, peter.wang@mediatek.com wrote:
> > +if (hba->pm_op_in_progress) {
> > +if (ufshcd_link_recovery(hba))
> > +err = FAILED;
> > +
> > +return err;
> > +}
>
> This patch looks good to me but I wish the above code would have been
> written using the style that is preferred in the Linux kernel:
>
> if (hba->pm_op_in_progress && ufshcd_link_recovery(hba) < 0)
> return FAILED;
>
> Thanks,
>
> Bart.
>
Hi Bart,
It looks more concise but cannot help in this deadlock case.
Because if pm_op_in_progress is true, and ufshcd_link_recovery return
0, we should return SUCCESS directly, else go forward in this function
eh_work will be triggered and deadlock happen.
Thanks.
Peter
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v5] ufs: core: wlun send SSU timeout recovery
2023-09-27 3:35 [PATCH v5] ufs: core: wlun send SSU timeout recovery peter.wang
2023-09-27 18:31 ` Bart Van Assche
@ 2023-09-28 16:30 ` Bart Van Assche
2023-09-29 14:14 ` Stanley Chu
2023-10-10 1:23 ` Martin K. Petersen
3 siblings, 0 replies; 6+ messages in thread
From: Bart Van Assche @ 2023-09-28 16:30 UTC (permalink / raw)
To: peter.wang, stanley.chu, linux-scsi, martin.petersen, avri.altman,
alim.akhtar, jejb
Cc: wsd_upstream, linux-mediatek, chun-hung.wu, alice.chao, cc.chou,
chaotian.jing, jiajie.hao, powen.kao, qilin.tan, lin.gui,
tun-yu.yu, eddie.huang, naomi.chu
On 9/26/23 20:35, peter.wang@mediatek.com wrote:
> When runtime pm send SSU times out, the SCSI core invokes
> eh_host_reset_handler, which hooks function ufshcd_eh_host_reset_handler
> schedule eh_work and stuck at wait flush_work(&hba->eh_work).
> However, ufshcd_err_handler hangs in wait rpm resume.
> Do link recovery only in this case.
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v5] ufs: core: wlun send SSU timeout recovery
2023-09-27 3:35 [PATCH v5] ufs: core: wlun send SSU timeout recovery peter.wang
2023-09-27 18:31 ` Bart Van Assche
2023-09-28 16:30 ` Bart Van Assche
@ 2023-09-29 14:14 ` Stanley Chu
2023-10-10 1:23 ` Martin K. Petersen
3 siblings, 0 replies; 6+ messages in thread
From: Stanley Chu @ 2023-09-29 14:14 UTC (permalink / raw)
To: peter.wang
Cc: stanley.chu, linux-scsi, martin.petersen, avri.altman,
alim.akhtar, jejb, wsd_upstream, linux-mediatek, chun-hung.wu,
alice.chao, cc.chou, chaotian.jing, jiajie.hao, powen.kao,
qilin.tan, lin.gui, tun-yu.yu, eddie.huang, naomi.chu
On Wed, Sep 27, 2023 at 1:43 PM <peter.wang@mediatek.com> wrote:
>
> From: Peter Wang <peter.wang@mediatek.com>
>
> When runtime pm send SSU times out, the SCSI core invokes
> eh_host_reset_handler, which hooks function ufshcd_eh_host_reset_handler
> schedule eh_work and stuck at wait flush_work(&hba->eh_work).
> However, ufshcd_err_handler hangs in wait rpm resume.
> Do link recovery only in this case.
> Below is IO hang stack dump in kernel-6.1
Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v5] ufs: core: wlun send SSU timeout recovery
2023-09-27 3:35 [PATCH v5] ufs: core: wlun send SSU timeout recovery peter.wang
` (2 preceding siblings ...)
2023-09-29 14:14 ` Stanley Chu
@ 2023-10-10 1:23 ` Martin K. Petersen
3 siblings, 0 replies; 6+ messages in thread
From: Martin K. Petersen @ 2023-10-10 1:23 UTC (permalink / raw)
To: peter.wang
Cc: stanley.chu, linux-scsi, martin.petersen, avri.altman,
alim.akhtar, jejb, wsd_upstream, linux-mediatek, chun-hung.wu,
alice.chao, cc.chou, chaotian.jing, jiajie.hao, powen.kao,
qilin.tan, lin.gui, tun-yu.yu, eddie.huang, naomi.chu
Peter,
> When runtime pm send SSU times out, the SCSI core invokes
> eh_host_reset_handler, which hooks function
> ufshcd_eh_host_reset_handler schedule eh_work and stuck at wait
> flush_work(&hba->eh_work). However, ufshcd_err_handler hangs in wait
> rpm resume. Do link recovery only in this case.
Applied to 6.7/scsi-staging, thanks!
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 6+ messages in thread