Loading drivers/scsi/ufs/ufshcd.c +8 −2 Original line number Diff line number Diff line Loading @@ -6362,7 +6362,7 @@ static void ufshcd_err_handler(struct work_struct *work) * Dump controller state before resetting. Transfer requests state * will be dump as part of the request completion. */ if ((hba->saved_err & (INT_FATAL_ERRORS | UIC_ERROR)) || if ((hba->saved_err & (INT_FATAL_ERRORS | UIC_ERROR | UIC_LINK_LOST)) || hba->auto_h8_err) { dev_err(hba->dev, "%s: saved_err 0x%x saved_uic_err 0x%x", __func__, hba->saved_err, hba->saved_uic_err); Loading @@ -6379,7 +6379,7 @@ static void ufshcd_err_handler(struct work_struct *work) hba->auto_h8_err = false; } if ((hba->saved_err & INT_FATAL_ERRORS) if ((hba->saved_err & (INT_FATAL_ERRORS | UIC_LINK_LOST)) || hba->saved_ce_err || hba->force_host_reset || ((hba->saved_err & UIC_ERROR) && (hba->saved_uic_err & (UFSHCD_UIC_DL_PA_INIT_ERROR | Loading Loading @@ -6658,6 +6658,12 @@ static irqreturn_t ufshcd_check_errors(struct ufs_hba *hba) if (hba->errors & INT_FATAL_ERRORS || hba->ce_error) queue_eh_work = true; if (hba->errors & UIC_LINK_LOST) { dev_err(hba->dev, "%s: UIC_LINK_LOST received, errors 0x%x\n", __func__, hba->errors); queue_eh_work = true; } if (hba->errors & UIC_ERROR) { hba->uic_error = 0; retval = ufshcd_update_uic_error(hba); Loading drivers/scsi/ufs/ufshci.h +1 −1 Original line number Diff line number Diff line Loading @@ -154,7 +154,7 @@ enum { #define UFSHCD_UIC_MASK (UIC_COMMAND_COMPL | UFSHCD_UIC_PWR_MASK) #define UFSHCD_ERROR_MASK (UIC_ERROR |\ #define UFSHCD_ERROR_MASK (UIC_ERROR | UIC_LINK_LOST |\ DEVICE_FATAL_ERROR |\ CONTROLLER_FATAL_ERROR |\ SYSTEM_BUS_FATAL_ERROR |\ Loading Loading
drivers/scsi/ufs/ufshcd.c +8 −2 Original line number Diff line number Diff line Loading @@ -6362,7 +6362,7 @@ static void ufshcd_err_handler(struct work_struct *work) * Dump controller state before resetting. Transfer requests state * will be dump as part of the request completion. */ if ((hba->saved_err & (INT_FATAL_ERRORS | UIC_ERROR)) || if ((hba->saved_err & (INT_FATAL_ERRORS | UIC_ERROR | UIC_LINK_LOST)) || hba->auto_h8_err) { dev_err(hba->dev, "%s: saved_err 0x%x saved_uic_err 0x%x", __func__, hba->saved_err, hba->saved_uic_err); Loading @@ -6379,7 +6379,7 @@ static void ufshcd_err_handler(struct work_struct *work) hba->auto_h8_err = false; } if ((hba->saved_err & INT_FATAL_ERRORS) if ((hba->saved_err & (INT_FATAL_ERRORS | UIC_LINK_LOST)) || hba->saved_ce_err || hba->force_host_reset || ((hba->saved_err & UIC_ERROR) && (hba->saved_uic_err & (UFSHCD_UIC_DL_PA_INIT_ERROR | Loading Loading @@ -6658,6 +6658,12 @@ static irqreturn_t ufshcd_check_errors(struct ufs_hba *hba) if (hba->errors & INT_FATAL_ERRORS || hba->ce_error) queue_eh_work = true; if (hba->errors & UIC_LINK_LOST) { dev_err(hba->dev, "%s: UIC_LINK_LOST received, errors 0x%x\n", __func__, hba->errors); queue_eh_work = true; } if (hba->errors & UIC_ERROR) { hba->uic_error = 0; retval = ufshcd_update_uic_error(hba); Loading
drivers/scsi/ufs/ufshci.h +1 −1 Original line number Diff line number Diff line Loading @@ -154,7 +154,7 @@ enum { #define UFSHCD_UIC_MASK (UIC_COMMAND_COMPL | UFSHCD_UIC_PWR_MASK) #define UFSHCD_ERROR_MASK (UIC_ERROR |\ #define UFSHCD_ERROR_MASK (UIC_ERROR | UIC_LINK_LOST |\ DEVICE_FATAL_ERROR |\ CONTROLLER_FATAL_ERROR |\ SYSTEM_BUS_FATAL_ERROR |\ Loading