From: Martin K. Petersen Date: Thu, 1 Jun 2023 00:19:31 +0000 (-0400) Subject: Merge patch series "ufs: core: mcq: Add ufshcd_abort() and error handler support... X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=bc5fef019632d89183d9946150b775635ca73981;p=linux.git Merge patch series "ufs: core: mcq: Add ufshcd_abort() and error handler support in MCQ mode" Bao D. Nguyen says: This patch series enables support for ufshcd_abort() and error handler in MCQ mode. Link: https://lore.kernel.org/r/cover.1685396241.git.quic_nguyenb@quicinc.com Signed-off-by: Martin K. Petersen --- bc5fef019632d89183d9946150b775635ca73981 diff --cc drivers/ufs/core/ufshcd.c index 0b2dc692d1b8c,107f93045d35c..ab00305be4120 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@@ -7393,14 -7587,17 +7541,17 @@@ static int ufshcd_abort(struct scsi_cmn WARN_ONCE(tag < 0, "Invalid tag %d\n", tag); - ufshcd_hold(hba, false); + ufshcd_hold(hba); - reg = ufshcd_readl(hba, REG_UTP_TRANSFER_REQ_DOOR_BELL); - /* If command is already aborted/completed, return FAILED. */ - 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 release; + + if (!is_mcq_enabled(hba)) { + reg = ufshcd_readl(hba, REG_UTP_TRANSFER_REQ_DOOR_BELL); + if (!test_bit(tag, &hba->outstanding_reqs)) { + /* If command is already aborted/completed, return FAILED. */ + 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 release; + } } /* Print Transfer Request of aborted task */