[PATCH v1 2/2] ufs: core: force reset after mcq abort all
peter.wang at mediatek.com
peter.wang at mediatek.com
Fri Aug 23 03:07:07 PDT 2024
From: Peter Wang <peter.wang at mediatek.com>
In mcq mode gerneal case, cq (head/tail) poniter is same as
sq pointer (head/tail) if the hwq is empty.
But if command send to device and abort it,
no response return and cq point will less than sq.
In this case will have unpredictable error.
This patch force reset for this case.
Below is error log
[ 34.976612][ C3] ufshcd-mtk 112b0000.ufshci: OCS error from controller = 3 for tag 19
Signed-off-by: Peter Wang <peter.wang at mediatek.com>
---
drivers/ufs/core/ufshcd.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
index 4bcd4e5b62bd..d9ef8f0279da 100644
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
@@ -6519,6 +6519,8 @@ static bool ufshcd_abort_all(struct ufs_hba *hba)
/* Complete the requests that are cleared by s/w */
ufshcd_complete_requests(hba, false);
+ if (is_mcq_enabled(hba))
+ return true;
return ret != 0;
}
--
2.45.2
More information about the Linux-mediatek
mailing list