[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <50ed9345dc9873fcfb84f3b919eda7f8@codeaurora.org>
Date: Fri, 14 Aug 2020 17:27:47 +0800
From: Can Guo <cang@...eaurora.org>
To: Bean Huo <huobean@...il.com>
Cc: alim.akhtar@...sung.com, avri.altman@....com,
asutoshd@...eaurora.org, jejb@...ux.ibm.com,
martin.petersen@...cle.com, stanley.chu@...iatek.com,
beanhuo@...ron.com, bvanassche@....org, tomas.winkler@...el.com,
linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org
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@...ron.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@...ron.com>
Reviewed-by: Can Guo <cang@...eaurora.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;
Powered by blists - more mailing lists