[lvc-project] [PATCH 5.10.y] scsi: ufs: core: Improve SCSI abort handling
Fedor Pchelkin
pchelkin at ispras.ru
Wed Apr 22 21:23:50 MSK 2026
On Tue, 21. Apr 16:19, Vasiliy Kovalev wrote:
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index c7bf0e6bc303..1b8072f47e7e 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -6788,6 +6788,7 @@ static int ufshcd_abort(struct scsi_cmnd *cmd)
> __ufshcd_transfer_req_compl(hba, (1UL << tag));
Вызов __ufshcd_transfer_req_compl() выше зануляет lrbp->cmd.
> spin_unlock_irqrestore(host->host_lock, flags);
> out:
А переход по метке out возможен только при
/* If command is already aborted/completed, return SUCCESS */
if (!(test_bit(tag, &hba->outstanding_reqs))) {
dev_err(hba->dev,
"%s: cmd at tag %d already completed, outstanding=0x%lx, doorbell=0x%x\n",
__func__, tag, hba->outstanding_reqs, reg);
goto out;
}
т.е. когда lrbp->cmd уже был занулён ранее, если правильно понимаю.
Есть подозрение, что виновный коммит в патче указан неверно.
> + lrbp->cmd = NULL;
> err = SUCCESS;
> } else {
> dev_err(hba->dev, "%s: failed with err %d\n", __func__, err);
> --
> 2.50.1
More information about the lvc-project
mailing list