From: "Peter Wang (王信友)" <peter.wang@mediatek.com>
To: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"bvanassche@acm.org" <bvanassche@acm.org>,
"martin.petersen@oracle.com" <martin.petersen@oracle.com>
Cc: wsd_upstream <wsd_upstream@mediatek.com>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>
Subject: Re: [PATCH v10 2/2] ufs: core: requeue aborted request
Date: Wed, 9 Oct 2024 02:17:03 +0000 [thread overview]
Message-ID: <bb9280de1a6dde857f0f3fe8c784bd71653a5ec4.camel@mediatek.com> (raw)
In-Reply-To: <a02c83eb-d057-48cc-9735-770928a2a0a1@acm.org>
On Tue, 2024-10-08 at 11:29 -0700, Bart Van Assche wrote:
> Hi Peter,
>
> I think what you wrote applies to MCQ mode only. In my previous email
> I clearly referred to "legacy mode" (SDB mode). Summarizing my
> previous
> email, I think that in legacy mode it is possible that
> ufshcd_release()
> is called twice while it only should be called once. Here are the
> possible solutions I see:
> * Add a function to the SCSI core for setting SCMD_STATE_COMPLETE.
> This
> may be controversial since no other SCSI LLD needs this
> functionality.
> * Changing the error handling approach in the UFS driver to the same
> approach other SCSI LLDs use: instead of using queue_work() to
> activate the error handler, call scsi_schedule_eh(). This will
> cause
> the error handler to be activated later, namely after all pending
> commands have timed out instead of aborting any pending commands
> first.
> * Add a variant of scsi_schedule_eh() to the SCSI core that
> accelerates
> error handling by calling scsi_timeout() on all pending commands.
>
> Thanks,
>
> Bart.
>
Hi Bart,
Yes, this patch is only for MCQ mode, because only MCQ mode
receives OCS: ABORTED, right? This patch doesn't modify
any of the Legacy mode flows, does it?
Additionally, I still don't understand why you say there would
be an issue with legacy mode having duplicate ufshcd_release(hba)
calls. As I mentioned before, it is protected by the
outstanding_lock. Could you please clarify the detailed
error flow?
Furthermore, even if there is an issue with Legacy mode, it
should be addressed by a separate patch, not by this one, which is
intended to resolve the MCQ mode issue. We shouldn't mix two
different issues together, don't you agree?
Thanks
Peter
next prev parent reply other threads:[~2024-10-09 2:17 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-01 9:19 [PATCH v10 0/2] fix abort defect peter.wang
2024-10-01 9:19 ` [PATCH v10 1/2] ufs: core: fix the issue of ICU failure peter.wang
2024-10-01 9:19 ` [PATCH v10 2/2] ufs: core: requeue aborted request peter.wang
2024-10-01 17:13 ` Bart Van Assche
2024-10-02 12:42 ` Peter Wang (王信友)
2024-10-03 20:02 ` Bart Van Assche
2024-10-07 7:20 ` Peter Wang (王信友)
2024-10-08 18:29 ` Bart Van Assche
2024-10-09 2:17 ` Peter Wang (王信友) [this message]
2024-10-09 18:06 ` Bart Van Assche
2024-10-11 5:44 ` Peter Wang (王信友)
2024-10-09 17:59 ` Bart Van Assche
2024-10-16 2:38 ` [PATCH v10 0/2] fix abort defect Martin K. Petersen
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=bb9280de1a6dde857f0f3fe8c784bd71653a5ec4.camel@mediatek.com \
--to=peter.wang@mediatek.com \
--cc=bvanassche@acm.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=wsd_upstream@mediatek.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox