aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wang <[email protected]>2024-07-12 17:45:06 +0800
committerMartin K. Petersen <[email protected]>2024-07-15 22:53:27 -0400
commit022587d8aec3da1d1698ddae9fb8cfe35f3ad49c (patch)
treeead63a7dc40eaa225a003fca59fe46813f972873
parent0c60eb0cc320fffbb8b10329d276af14f6f5e6bf (diff)
scsi: ufs: core: Bypass quick recovery if force reset is needed
If force_reset is true, bypass quick recovery. This will shorten error recovery time. Signed-off-by: Peter Wang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Bean Huo <[email protected]> Reviewed-by: Bart Van Assche <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
-rw-r--r--drivers/ufs/core/ufshcd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
index 480be64acf24..6ecaa7d8fa43 100644
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
@@ -6561,7 +6561,8 @@ again:
if (ufshcd_err_handling_should_stop(hba))
goto skip_err_handling;
- if (hba->dev_quirks & UFS_DEVICE_QUIRK_RECOVERY_FROM_DL_NAC_ERRORS) {
+ if ((hba->dev_quirks & UFS_DEVICE_QUIRK_RECOVERY_FROM_DL_NAC_ERRORS) &&
+ !hba->force_reset) {
bool ret;
spin_unlock_irqrestore(hba->host->host_lock, flags);