Re: [PATCH v6 0/5] soc: qcom: ice: Fix race between qcom_ice_probe() and of_qcom_ice_get()
From: Sumit Garg
Date: Mon Mar 09 2026 - 03:31:03 EST
On Mon, Mar 9, 2026 at 12:28 PM Manivannan Sadhasivam via B4 Relay
<devnull+manivannan.sadhasivam.oss.qualcomm.com@xxxxxxxxxx> wrote:
>
> 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
Thanks Mani for taking care of my inputs, this patch-set works for me. FWIW:
Acked-by: Sumit Garg <sumit.garg@xxxxxxxxxxxxxxxx>
Tested-by: Sumit Garg <sumit.garg@xxxxxxxxxxxxxxxx> # OP-TEE as TZ
-Sumit
>
> 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>
>
>