void ufshcd_send_command(struct ufs_hba *hba, unsigned int task_tag)
 {
        struct ufshcd_lrb *lrbp = &hba->lrb[task_tag];
+       unsigned long flags;
 
        lrbp->issue_time_stamp = ktime_get();
        lrbp->compl_time_stamp = ktime_set(0, 0);
        ufshcd_clk_scaling_start_busy(hba);
        if (unlikely(ufshcd_should_inform_monitor(hba, lrbp)))
                ufshcd_start_monitor(hba, lrbp);
-       if (ufshcd_has_utrlcnr(hba)) {
-               set_bit(task_tag, &hba->outstanding_reqs);
-               ufshcd_writel(hba, 1 << task_tag,
-                             REG_UTP_TRANSFER_REQ_DOOR_BELL);
-       } else {
-               unsigned long flags;
-
-               spin_lock_irqsave(hba->host->host_lock, flags);
-               set_bit(task_tag, &hba->outstanding_reqs);
-               ufshcd_writel(hba, 1 << task_tag,
-                             REG_UTP_TRANSFER_REQ_DOOR_BELL);
-               spin_unlock_irqrestore(hba->host->host_lock, flags);
-       }
+       spin_lock_irqsave(hba->host->host_lock, flags);
+       set_bit(task_tag, &hba->outstanding_reqs);
+       ufshcd_writel(hba, 1 << task_tag, REG_UTP_TRANSFER_REQ_DOOR_BELL);
+       spin_unlock_irqrestore(hba->host->host_lock, flags);
        /* Make sure that doorbell is committed immediately */
        wmb();
 }
 }
 
 /**
- * ufshcd_trc_handler - handle transfer requests completion
+ * ufshcd_transfer_req_compl - handle SCSI and query command completion
  * @hba: per adapter instance
- * @use_utrlcnr: get completed requests from UTRLCNR
  *
  * Returns
  *  IRQ_HANDLED - If interrupt is valid
  *  IRQ_NONE    - If invalid interrupt
  */
-static irqreturn_t ufshcd_trc_handler(struct ufs_hba *hba, bool use_utrlcnr)
+static irqreturn_t ufshcd_transfer_req_compl(struct ufs_hba *hba)
 {
-       unsigned long completed_reqs = 0;
+       unsigned long completed_reqs, flags;
+       u32 tr_doorbell;
 
        /* Resetting interrupt aggregation counters first and reading the
         * DOOR_BELL afterward allows us to handle all the completed requests.
            !(hba->quirks & UFSHCI_QUIRK_SKIP_RESET_INTR_AGGR))
                ufshcd_reset_intr_aggr(hba);
 
-       if (use_utrlcnr) {
-               u32 utrlcnr;
-
-               utrlcnr = ufshcd_readl(hba, REG_UTP_TRANSFER_REQ_LIST_COMPL);
-               if (utrlcnr) {
-                       ufshcd_writel(hba, utrlcnr,
-                                     REG_UTP_TRANSFER_REQ_LIST_COMPL);
-                       completed_reqs = utrlcnr;
-               }
-       } else {
-               unsigned long flags;
-               u32 tr_doorbell;
-
-               spin_lock_irqsave(hba->host->host_lock, flags);
-               tr_doorbell = ufshcd_readl(hba, REG_UTP_TRANSFER_REQ_DOOR_BELL);
-               completed_reqs = tr_doorbell ^ hba->outstanding_reqs;
-               spin_unlock_irqrestore(hba->host->host_lock, flags);
-       }
+       spin_lock_irqsave(hba->host->host_lock, flags);
+       tr_doorbell = ufshcd_readl(hba, REG_UTP_TRANSFER_REQ_DOOR_BELL);
+       completed_reqs = tr_doorbell ^ hba->outstanding_reqs;
+       spin_unlock_irqrestore(hba->host->host_lock, flags);
 
        if (completed_reqs) {
                __ufshcd_transfer_req_compl(hba, completed_reqs);
 /* Complete requests that have door-bell cleared */
 static void ufshcd_complete_requests(struct ufs_hba *hba)
 {
-       ufshcd_trc_handler(hba, false);
+       ufshcd_transfer_req_compl(hba);
        ufshcd_tmc_handler(hba);
 }
 
                retval |= ufshcd_tmc_handler(hba);
 
        if (intr_status & UTP_TRANSFER_REQ_COMPL)
-               retval |= ufshcd_trc_handler(hba, ufshcd_has_utrlcnr(hba));
+               retval |= ufshcd_transfer_req_compl(hba);
 
        return retval;
 }