[RAMEN9610-14257] [COMMON] scsi: ufs: Disable UFS UIC interrupt when UIC error.
authorJaeHun Jung <jh0801.jung@samsung.com>
Thu, 4 Apr 2019 12:20:24 +0000 (21:20 +0900)
committerCosmin Tanislav <demonsingur@gmail.com>
Mon, 22 Apr 2024 17:23:23 +0000 (20:23 +0300)
Sometimes UFS interrupts storm was occur when UIC error.
So, Disable interrupts for recovery.

Change-Id: I8639995be9e2a537c05b809c73af89578dc00ba2
Signed-off-by: JaeHun Jung <jh0801.jung@samsung.com>
drivers/scsi/ufs/ufshcd.c

index d69fe5718bcd4226422b94a5ec1d3806762cbc1b..0e2244026f58ec10156f79a6b914261bb7451dcc 100644 (file)
@@ -5773,6 +5773,10 @@ static void ufshcd_sl_intr(struct ufs_hba *hba, u32 intr_status)
 
        if (intr_status & UTP_TRANSFER_REQ_COMPL)
                ufshcd_transfer_req_compl(hba, 0);
+
+       /* Interrupt disable for stop UIC interrupts storm */
+       if (hba->saved_uic_err && (hba->ufshcd_state != UFSHCD_STATE_RESET))
+               ufshcd_disable_intr(hba, UIC_ERROR);
 }
 
 /**