[PATCH v6 0/5] soc: qcom: ice: Fix race between qcom_ice_probe() and of_qcom_ice_get()
From: Manivannan Sadhasivam via B4 Relay
Date: Mon Mar 09 2026 - 03:00:48 EST
Hi,
This series fixes the race betwen qcom_ice_probe() and of_qcom_ice_get()
but synchronizing the two APIs and properly propagating the error codes to
clients.
Merge Strategy
==============
Due to dependency, all patches should go through Qcom SoC tree.
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxxxxxxxx>
---
Changes in v6:
- Fixed sparse warnings
- Link to v5: https://lore.kernel.org/r/20260308-qcom-ice-fix-v5-0-e47e8a44b6c4@xxxxxxxxxxxxxxxx
Changes in v5:
- Used Xarray instead of platform drvdata for passing the pointer since driver
core frees drvdata on probe failure.
- Link to v4: https://lore.kernel.org/r/20260302-qcom-ice-fix-v4-0-0e65740a5dcc@xxxxxxxxxxxxxxxx
Changes in v4:
- For supporting multi-ice instances in a SoC, stored the err ptr in platform
drvdata instead of in a global pointer.
- Link to v3: https://lore.kernel.org/r/20260223-qcom-ice-fix-v3-0-6ca5846329f7@xxxxxxxxxxxxxxxx
Changes in v3:
- Dropped the platform driver removal patch and used the ice_handle to pass
error codes. This was done as I learned that we need to have the platform
driver design going forward and also removing it introduces other issues.
- Link to v2: https://lore.kernel.org/r/20260210-qcom-ice-fix-v2-0-9c1ab5d6502c@xxxxxxxxxxxxxxxx
Changes in v2:
- Added MODULE_* macros back
- Removed spurious platform_device_put()
- Added patches to remove NULL return
---
Manivannan Sadhasivam (5):
soc: qcom: ice: Fix race between qcom_ice_probe() and of_qcom_ice_get()
soc: qcom: ice: Return -ENODEV if the ICE platform device is not found
soc: qcom: ice: Return proper error codes from devm_of_qcom_ice_get() instead of NULL
mmc: sdhci-msm: Remove NULL check from devm_of_qcom_ice_get()
scsi: ufs: ufs-qcom: Remove NULL check from devm_of_qcom_ice_get()
drivers/mmc/host/sdhci-msm.c | 10 ++++-----
drivers/soc/qcom/ice.c | 49 ++++++++++++++++++++++++++++++++------------
drivers/ufs/host/ufs-qcom.c | 10 ++++-----
3 files changed, 46 insertions(+), 23 deletions(-)
---
base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
change-id: 20260210-qcom-ice-fix-d2a3a045b32d
Best regards,
--
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxxxxxxxx>