[PATCH v1] scsi: ufs: qcom: Hold the mutex lock when config ESI

Ziqi Chen posted 1 patch 2 years, 7 months ago
drivers/ufs/host/ufs-qcom.c | 4 ++++
1 file changed, 4 insertions(+)
[PATCH v1] scsi: ufs: qcom: Hold the mutex lock when config ESI
Posted by Ziqi Chen 2 years, 7 months ago
Lock the MSI descriptor storage of a device when config ESI.
Otherwise we would meet plenty of warnings during boot up.

Signed-off-by: Ziqi Chen <quic_ziqichen@quicinc.com>
---
 drivers/ufs/host/ufs-qcom.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
index f36bcdb..d29e63e 100644
--- a/drivers/ufs/host/ufs-qcom.c
+++ b/drivers/ufs/host/ufs-qcom.c
@@ -1680,6 +1680,7 @@ static int ufs_qcom_config_esi(struct ufs_hba *hba)
 		goto out;
 	}
 
+	msi_lock_descs(hba->dev);
 	msi_for_each_desc(desc, hba->dev, MSI_DESC_ALL) {
 		ret = devm_request_irq(hba->dev, desc->irq,
 				       ufs_qcom_mcq_esi_handler,
@@ -1691,14 +1692,17 @@ static int ufs_qcom_config_esi(struct ufs_hba *hba)
 			break;
 		}
 	}
+	msi_unlock_descs(hba->dev);
 
 	if (ret) {
 		/* Rewind */
+		msi_lock_descs(hba->dev);
 		msi_for_each_desc(desc, hba->dev, MSI_DESC_ALL) {
 			if (desc == failed_desc)
 				break;
 			devm_free_irq(hba->dev, desc->irq, hba);
 		}
+		msi_unlock_descs(hba->dev);
 		platform_msi_domain_free_irqs(hba->dev);
 	} else {
 		if (host->hw_ver.major == 6 && host->hw_ver.minor == 0 &&
-- 
2.7.4
Re: [PATCH v1] scsi: ufs: qcom: Hold the mutex lock when config ESI
Posted by Martin K. Petersen 2 years, 6 months ago
Ziqi,

> Lock the MSI descriptor storage of a device when config ESI. Otherwise
> we would meet plenty of warnings during boot up.

Applied to 6.6/scsi-staging, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering