LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Avri Altman <Avri.Altman@wdc.com> To: Bart Van Assche <bvanassche@acm.org>, "James E . J . Bottomley" <jejb@linux.vnet.ibm.com>, "Martin K . Petersen" <martin.petersen@oracle.com> Cc: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Adrian Hunter <adrian.hunter@intel.com> Subject: RE: [PATCH 2/2] scsi: ufs: Return a bsg request immediatley if eh-in-progress Date: Mon, 8 Nov 2021 17:24:29 +0000 [thread overview] Message-ID: <DM6PR04MB6575F4831649503EE848C4CFFC919@DM6PR04MB6575.namprd04.prod.outlook.com> (raw) In-Reply-To: <fa7dae1f-06ac-9d5a-616d-cc00c38e5feb@acm.org> > On 11/8/21 4:08 AM, Avri Altman wrote: > > ufs-bsg is attempting to access the device from user-space, and it is > > unaware of the internal driver flows, specifically if error handling is > > currently ongoing. > > > > Fixes: 5e0a86eed846 (scsi: ufs: Add API to execute raw upiu commands) > > > > Signed-off-by: Avri Altman <avri.altman@wdc.com> > > --- > > drivers/scsi/ufs/ufshcd.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > > index 3869bb57769b..828061c05909 100644 > > --- a/drivers/scsi/ufs/ufshcd.c > > +++ b/drivers/scsi/ufs/ufshcd.c > > @@ -6830,6 +6830,9 @@ int ufshcd_exec_raw_upiu_cmd(struct ufs_hba > *hba, > > enum utp_ocs ocs_value; > > u8 tm_f = be32_to_cpu(req_upiu->header.dword_1) >> 16 & > MASK_TM_FUNC; > > > > + if (!ufshcd_is_user_access_allowed(hba)) > > + return -EBUSY; > > + > > switch (msgcode) { > > case UPIU_TRANSACTION_NOP_OUT: > > cmd_type = DEV_CMD_TYPE_NOP; > > Making operations fail if error handling is in progress makes it harder than > necessary to write user space software that uses the BSG interface. Has it > been considered to wait inside ufshcd_exec_raw_upiu_cmd() until error > handling > has finished? I am not sure. I would expect a retry / polling / other, if any, to be done in user-space and not in the kernel. e.g. a common practice in the code that send SG_IO or other ioctls is to retry on EBUSY. Not sure that this is the case in ufs-utils though. Thanks, Avri Thanks, Avri > > Thanks, > > Bart. >
next prev parent reply other threads:[~2021-11-08 17:24 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-11-08 12:08 [PATCH 0/2] scsi: ufs: Block user-space access if eh-in-progress Avri Altman 2021-11-08 12:08 ` [PATCH 1/2] scsi: ufs: Inline eh-in-progress states Avri Altman 2021-11-08 12:08 ` [PATCH 2/2] scsi: ufs: Return a bsg request immediatley if eh-in-progress Avri Altman 2021-11-08 17:16 ` Bart Van Assche 2021-11-08 17:24 ` Avri Altman [this message] 2021-11-08 17:32 ` Bart Van Assche 2021-11-08 18:00 ` Avri Altman
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=DM6PR04MB6575F4831649503EE848C4CFFC919@DM6PR04MB6575.namprd04.prod.outlook.com \ --to=avri.altman@wdc.com \ --cc=adrian.hunter@intel.com \ --cc=bvanassche@acm.org \ --cc=jejb@linux.vnet.ibm.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-scsi@vger.kernel.org \ --cc=martin.petersen@oracle.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: linkBe 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; as well as URLs for NNTP newsgroup(s).