[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <16844fe5-9090-4504-be72-f3591b64e0d5@oss.qualcomm.com>
Date: Tue, 21 Oct 2025 15:16:51 +0200
From: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
To: Debraj Mukhopadhyay <quic_dmukhopa@...cinc.com>, quic_neersoni@...cinc.com,
andersson@...nel.org, konradybcio@...nel.org,
linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] qcom: ice: Prevent client probe failures on unsupported
ICE
On 10/21/25 2:34 PM, Debraj Mukhopadhyay wrote:
> Hi Konrad,
>
> Thanks for your comment. Please find my response inline below.
https://lore.kernel.org/linux-arm-msm/2023042722-humble-unthread-9597@gregkh/
> On 10/21/2025 2:57 PM, Konrad Dybcio wrote:
>> On 10/21/25 6:03 AM, Debraj Mukhopadhyay wrote:
>>> Storage clients (ex. UFS and MMC) invoke of_qcom_ice_get() to obtain the
>>> handle from ICE (Inline Crypto Engine) driver. Currently if ICE is
>>> unsupported, the return code from probe could prevent the client
>>> initialization which is a bug. To fix this a new flag
>>> qcom_ice_create_error is introduced which caches the error encountered
>>> during ICE probe.
>> Probe currently only happens if the ICE node is present in the DT and
>> referred to from the storage controller. What does this patch solve?
>>
>> Konrad
>
> Even if the DT node is present it is possible that The SCM support for ICE is unavailable in the underlying TZ framework. With the existing logic, qcom_scm_ice_available() would have failed in such cases, returning NULL to storage clients where the clients like storage may keep retrying which potentially can cause boot up issues. This patch corrects that behavior by explicitly returning -EOPNOTSUPP to the clients. I will update the commit message accordingly.
Wouldn't that mean that we have a broken TZ?
And wouldn't this be better solved by simply moving the SCM checks
to of_qcom_ice_get()?
Konrad
Powered by blists - more mailing lists