There are some race condition.when hci sfr dump starts in error handler,
if hibernation exit function send uic cmd with uic errors then race happens.
Therefore we make hibernation exit skip to send uic cmd when uic errors
happens.
Change-Id: I261f1cecca4210ddda6088d784790923373ae18d
Signed-off-by: hgchu <hg.chu@samsung.com>
ret = ufshcd_uic_hibern8_enter(hba);
else
ret = ufshcd_uic_hibern8_exit(hba);
- if (ret)
+
+ if (ret || (hba->saved_err & INT_FATAL_ERRORS) ||
+ ((hba->saved_err & UIC_ERROR) &&
+ ((hba->saved_uic_err & UFSHCD_UIC_DL_PA_INIT_ERROR) ||
+ (hba->saved_uic_err & UFSHCD_UIC_DL_ERROR)))) {
+
+ if (!ret)
+ ret = hba->saved_err;
goto out;
}
if (hba->vops && hba->vops->hibern8_notify)