Merge patch series "ufs: core: mcq: Add ufshcd_abort() and error handler support...
authorMartin K. Petersen <martin.petersen@oracle.com>
Thu, 1 Jun 2023 00:19:31 +0000 (20:19 -0400)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 1 Jun 2023 00:19:31 +0000 (20:19 -0400)
Bao D. Nguyen <quic_nguyenb@quicinc.com> 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 <martin.petersen@oracle.com>
1  2 
drivers/ufs/core/ufshcd-priv.h
drivers/ufs/core/ufshcd.c
include/ufs/ufshcd.h
include/ufs/ufshci.h

Simple merge
@@@ -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 */
Simple merge
Simple merge