Re: [RFC PATCH v1 4/4] ufs: mcq: Added ufshcd_mcq_abort()

Bart Van Assche
2023-03-08T19:03:30Z

On 3/7/23 20:01, Bao D. Nguyen wrote:
> + if (ufshcd_mcq_cqe_search(hba, hwq, tag)) {
> + dev_err(hba->dev, "%s: cmd found in cq. hwq=%d, tag=%d\n",
> + __func__, hwq->id, tag);
> + /*
> + * The command should not be 'stuck' in the CQ for such a long time.
> + * Is interrupt missing? Process the CQEs here. If the interrupt is
> + * invoked at a later time, the CQ will be empty because the CQEs
> + * are already processed here.
> + */
> + ufshcd_mcq_poll_cqe_lock(hba, hwq);
> + err = SUCCESS;
> + goto out;
> + }

Please remove the above code and also the definition of the
ufshcd_mcq_cqe_search() function. The SCSI error handler submits an
abort to deal with command processing timeouts. ufshcd_mcq_cqe_search()
can only return true in case of a software bug at the host side.
Addressing such bugs is out of scope for the SCSI error handler.

Thanks,

Bart.