From: Can Guo <cang@codeaurora.org>
To: Bart Van Assche <bvanassche@acm.org>
Cc: asutoshd@codeaurora.org, nguyenb@codeaurora.org,
hongwus@codeaurora.org, ziqichen@codeaurora.org,
linux-scsi@vger.kernel.org, kernel-team@android.com,
Alim Akhtar <alim.akhtar@samsung.com>,
Avri Altman <avri.altman@wdc.com>,
"James E.J. Bottomley" <jejb@linux.ibm.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Stanley Chu <stanley.chu@mediatek.com>,
Bean Huo <beanhuo@micron.com>, Jaegeuk Kim <jaegeuk@kernel.org>,
open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 09/10] scsi: ufs: Update the fast abort path in ufshcd_abort() for PM requests
Date: Thu, 24 Jun 2021 12:16:50 +0800 [thread overview]
Message-ID: <5ff72cfab707b571ef395d52931edd0f@codeaurora.org> (raw)
In-Reply-To: <b28d71a7-3839-2c07-2630-6196ea10951f@acm.org>
Hi Bart,
On 2021-06-24 05:33, Bart Van Assche wrote:
> On 6/23/21 12:35 AM, Can Guo wrote:
>> @@ -2737,7 +2737,7 @@ static int ufshcd_queuecommand(struct Scsi_Host
>> *host, struct scsi_cmnd *cmd)
>> * err handler blocked for too long. So, just fail the scsi cmd
>> * sent from PM ops, err handler can recover PM error anyways.
>> */
>> - if (hba->wlu_pm_op_in_progress) {
>> + if (cmd->request->rq_flags & RQF_PM) {
>> hba->force_reset = true;
>> set_host_byte(cmd, DID_BAD_TARGET);
>> cmd->scsi_done(cmd);
>
> I'm still concerned that the above code may trigger data corruption. I
> prefer that the above code is removed instead of being modified.
Removing the change will lead to deadlock when error handling prepare
calls pm_runtime_get_sync().
RQF_PM is only given to requests sent from power management operations,
during which the specific device/LU is suspending/resuming, meaning no
data transaction is ongoing. How can fast failing a PM request trigger
data corruption?
Thanks,
Can Guo.
>
> Thanks,
>
> Bart.
next prev parent reply other threads:[~2021-06-24 4:17 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-23 7:34 [PATCH v4 00/10] Complementary changes for error handling Can Guo
2021-06-23 7:35 ` [PATCH v4 01/10] scsi: ufs: Rename flags pm_op_in_progress and is_sys_suspended Can Guo
2021-06-23 20:05 ` Bart Van Assche
2021-06-23 20:57 ` Bart Van Assche
2021-06-24 2:02 ` Can Guo
2021-06-24 2:34 ` Can Guo
2021-06-24 6:04 ` Adrian Hunter
2021-06-23 20:42 ` Bjorn Andersson
2021-06-23 22:41 ` Bart Van Assche
2021-06-24 2:04 ` Can Guo
2021-06-24 17:32 ` Bart Van Assche
2021-06-24 23:42 ` Bart Van Assche
2021-06-28 7:01 ` Can Guo
2021-06-28 7:35 ` Can Guo
2021-06-28 17:07 ` Bart Van Assche
2021-06-23 7:35 ` [PATCH v4 02/10] scsi: ufs: Add " Can Guo
2021-06-23 12:33 ` Adrian Hunter
2021-06-24 2:05 ` Can Guo
2021-06-23 20:59 ` Bart Van Assche
2021-06-24 2:07 ` Can Guo
2021-06-24 17:35 ` Bart Van Assche
2021-06-28 7:11 ` Can Guo
2021-06-23 7:35 ` [PATCH v4 03/10] scsi: ufs: Update the return value of supplier pm ops Can Guo
2021-06-23 21:08 ` Bart Van Assche
2021-06-24 2:11 ` Can Guo
2021-06-23 7:35 ` [PATCH v4 04/10] scsi: ufs: Enable IRQ after enabling clocks in error handling preparation Can Guo
2021-06-23 21:20 ` Bart Van Assche
2021-06-23 7:35 ` [PATCH 05/10] scsi: ufs: Complete the cmd before returning in queuecommand Can Guo
2021-06-23 7:39 ` Can Guo
2021-06-23 7:35 ` [PATCH v4 05/10] scsi: ufs: Remove a redundant tag check in ufshcd_queuecommand() Can Guo
2021-06-23 21:24 ` Bart Van Assche
2021-06-23 7:35 ` [PATCH v4 06/10] scsi: ufs: Remove host_sem used in suspend/resume Can Guo
2021-06-23 14:30 ` Adrian Hunter
2021-06-24 2:16 ` Can Guo
2021-06-24 5:52 ` Adrian Hunter
2021-06-24 6:12 ` Can Guo
2021-06-24 6:23 ` Adrian Hunter
2021-06-24 6:31 ` Can Guo
2021-06-24 10:04 ` Adrian Hunter
2021-06-28 7:26 ` Can Guo
2021-07-07 19:04 ` Adrian Hunter
2021-06-24 17:11 ` Bart Van Assche
2021-06-28 8:17 ` Can Guo
2021-06-28 17:31 ` Bart Van Assche
2021-06-29 6:23 ` Can Guo
2021-06-29 18:01 ` Bart Van Assche
2021-06-29 21:50 ` Can Guo
2021-06-23 7:35 ` [PATCH v4 07/10] scsi: ufs: Simplify error handling preparation Can Guo
2021-06-23 21:30 ` Bart Van Assche
2021-06-23 7:35 ` [PATCH v4 08/10] scsi: ufs: Update ufshcd_recover_pm_error() Can Guo
2021-06-23 7:35 ` [PATCH v4 09/10] scsi: ufs: Update the fast abort path in ufshcd_abort() for PM requests Can Guo
2021-06-23 21:33 ` Bart Van Assche
2021-06-24 4:16 ` Can Guo [this message]
2021-06-24 16:57 ` Bart Van Assche
2021-06-23 7:35 ` [PATCH v4 10/10] scsi: ufs: Apply more limitations to user access Can Guo
2021-06-23 21:51 ` Bart Van Assche
2021-06-24 2:23 ` Can Guo
2021-06-24 22:25 ` Bart Van Assche
2021-06-28 7:16 ` Can Guo
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=5ff72cfab707b571ef395d52931edd0f@codeaurora.org \
--to=cang@codeaurora.org \
--cc=alim.akhtar@samsung.com \
--cc=asutoshd@codeaurora.org \
--cc=avri.altman@wdc.com \
--cc=beanhuo@micron.com \
--cc=bvanassche@acm.org \
--cc=hongwus@codeaurora.org \
--cc=jaegeuk@kernel.org \
--cc=jejb@linux.ibm.com \
--cc=kernel-team@android.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=nguyenb@codeaurora.org \
--cc=stanley.chu@mediatek.com \
--cc=ziqichen@codeaurora.org \
/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.