Re: [PATCH] scsi: ufs: Improve SCSI abort handling

Bean Huo
2021-11-04T22:20:36Z

On Thu, 2021-11-04 at 11:10 -0700, Bart Van Assche wrote:
> The following has been observed on a test setup:
>
> WARNING: CPU: 4 PID: 250 at drivers/scsi/ufs/ufshcd.c:2737
> ufshcd_queuecommand+0x468/0x65c
> Call trace:
> ufshcd_queuecommand+0x468/0x65c
> scsi_send_eh_cmnd+0x224/0x6a0
> scsi_eh_test_devices+0x248/0x418
> scsi_eh_ready_devs+0xc34/0xe58
> scsi_error_handler+0x204/0x80c
> kthread+0x150/0x1b4
> ret_from_fork+0x10/0x30
>
> That warning is triggered by the following statement:
>
> WARN_ON(lrbp->cmd);
>
> Fix this warning by clearing lrbp->cmd from the abort handler.
>
> Fixes: 7a3e97b0dc4b ("[SCSI] ufshcd: UFS Host controller driver")
> Signed-off-by: Bart Van Assche <bvanassche@acm.org>

Reviewed-by: Bean Huo <beanhuo@micron.com>

> ---
> drivers/scsi/ufs/ufshcd.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index 3b4a714e2f68..d8a59258b1dc 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -7069,6 +7069,7 @@ static int ufshcd_abort(struct scsi_cmnd *cmd)
> goto release;
> }
>
> + lrbp->cmd = NULL;
> err = SUCCESS;
>