Messages in this thread | | | Date | Fri, 14 Aug 2020 17:27:47 +0800 | From | Can Guo <> | Subject | Re: [PATCH v2 2/2] scsi: ufs: no need to send one Abort Task TM in case the task in DB was cleared |
| |
On 2020-08-11 22:18, Bean Huo wrote: > From: Bean Huo <beanhuo@micron.com> > > If the bit corresponds to a task in the Doorbell register has been > cleared, no need to poll the status of the task on the device side > and to send an Abort Task TM. Instead, let it directly goto cleanup. > > Meanwhile, to keep original debug print, move this goto below the debug > print. > > Signed-off-by: Bean Huo <beanhuo@micron.com>
Reviewed-by: Can Guo <cang@codeaurora.org>
> --- > drivers/scsi/ufs/ufshcd.c | 15 ++++++++------- > 1 file changed, 8 insertions(+), 7 deletions(-) > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > index 66fe814c8725..5f09cda7b21c 100644 > --- a/drivers/scsi/ufs/ufshcd.c > +++ b/drivers/scsi/ufs/ufshcd.c > @@ -6434,14 +6434,8 @@ static int ufshcd_abort(struct scsi_cmnd *cmd) > goto out; > } > > - if (!(reg & (1 << tag))) { > - dev_err(hba->dev, > - "%s: cmd was completed, but without a notifying intr, tag = %d", > - __func__, tag); > - } > - > /* Print Transfer Request of aborted task */ > - dev_err(hba->dev, "%s: Device abort task at tag %d\n", __func__, > tag); > + dev_info(hba->dev, "%s: Device abort task at tag %d\n", __func__, > tag); > > /* > * Print detailed info about aborted request. > @@ -6462,6 +6456,13 @@ static int ufshcd_abort(struct scsi_cmnd *cmd) > } > hba->req_abort_count++; > > + if (!(reg & (1 << tag))) { > + dev_err(hba->dev, > + "%s: cmd was completed, but without a notifying intr, tag = %d", > + __func__, tag); > + goto cleanup; > + } > + > /* Skip task abort in case previous aborts failed and report failure > */ > if (lrbp->req_abort_skip) { > err = -EIO;
| |