There is no need to check the version to clear
the interrupt status. And the order is changed
prior to actual handling.

Signed-off-by: Seungwon Jeon <[email protected]>
Signed-off-by: Dolev Raviv <[email protected]>
Tested-by: Maya Erez <[email protected]>

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index c342a38..f4293d1 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -1478,11 +1478,8 @@ static irqreturn_t ufshcd_intr(int irq, void *__hba)
        intr_status = ufshcd_readl(hba, REG_INTERRUPT_STATUS);
 
        if (intr_status) {
+               ufshcd_writel(hba, intr_status, REG_INTERRUPT_STATUS);
                ufshcd_sl_intr(hba, intr_status);
-
-               /* If UFSHCI 1.0 then clear interrupt status register */
-               if (hba->ufs_version == UFSHCI_VERSION_10)
-                       ufshcd_writel(hba, intr_status, REG_INTERRUPT_STATUS);
                retval = IRQ_HANDLED;
        }
        spin_unlock(hba->host->host_lock);
-- 
1.7.6

-- 
QUALCOMM ISRAEL, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to