From: sashiko-bot@kernel.org
To: "Abel Vesa" <abel.vesa@oss.qualcomm.com>
Cc: conor+dt@kernel.org, devicetree@vger.kernel.org, robh@kernel.org
Subject: Re: [PATCH 03/11] arm64: dts: qcom: sm8650: Disable Inline Crypto Engine by default
Date: Fri, 28 Aug 2026 12:52:09 +0000 [thread overview]
Message-ID: <20260828125210.1184A1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260828-b4-dts-qcom-disable-ice-by-default-v1-3-1d6e0c2f5a69@oss.qualcomm.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Disabling the Inline Crypto Engine (ICE) node by default in `sm8650.dtsi` breaks the UFS controller probe on any board that does not explicitly re-enable it. The `ufs_mem_hc` node retains the `qcom,ice = <&ice>;` property, so `of_parse_phandle()` successfully finds the disabled node. However, because the node is disabled, no platform device is created for it, causing `of_find_device_by_node()` to return NULL. As a result, `of_qcom_ice_get()` returns `-ENODEV` instead of the graceful fallback `-EOPNOTSUPP`. The UFS driver treats `-ENODEV` as a fatal error, completely failing the UFS probe.
--
commit 9f42720f6440c4701f3e9fd798297a81e20c12ba
Author: Abel Vesa <abel.vesa@oss.qualcomm.com>
arm64: dts: qcom: sm8650: Disable Inline Crypto Engine by default
This commit disables the Inline Crypto Engine (ICE) by default in the SoC
DTSI to prevent the UFS_PHY_GDSC from remaining enabled while the device is
idle. The ICE node is then explicitly enabled in the board-specific DTS
files that use it.
> diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
> index b679fd8afb7d5..384aa2203dfa3 100644
> --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
> @@ -4142,6 +4142,8 @@ ice: crypto@1d88000 {
> clock-names = "core",
> "iface";
> power-domains = <&gcc UFS_PHY_GDSC>;
> +
> + status = "disabled";
[Severity: High]
Does disabling the ICE node by default break the UFS controller probe on boards
that do not explicitly re-enable it?
The ufs_mem_hc node retains the qcom,ice = <&ice>; property, so
of_parse_phandle() still finds the node. However, since the node is now disabled
by default, no platform device is created for it.
When the UFS driver probes, of_qcom_ice_get() fails to find the platform device:
drivers/soc/qcom/ice.c:of_qcom_ice_get() {
...
if (!pdev) {
dev_err(dev, "Cannot find device node %s\n", node->name);
return ERR_PTR(-ENODEV);
}
...
}
This returns -ENODEV, which is then treated as a fatal error by the UFS driver
instead of a graceful fallback:
drivers/ufs/host/ufs-qcom.c:ufs_qcom_ice_init() {
...
if (IS_ERR(ice)) {
if (ice != ERR_PTR(-EOPNOTSUPP))
return PTR_ERR(ice);
dev_warn(dev, "Disabling inline encryption support\n");
return 0;
}
...
}
Because the driver only falls back gracefully on -EOPNOTSUPP, receiving -ENODEV
causes the entire UFS probe to fail. Could this lead to an unbootable system for
downstream or future boards that rely on the default DTSI configuration if their
root filesystem is on UFS?
> };
>
> cryptobam: dma-controller@1dc4000 {
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260828-b4-dts-qcom-disable-ice-by-default-v1-0-1d6e0c2f5a69@oss.qualcomm.com?part=3
next prev parent reply other threads:[~2026-08-28 12:52 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-28 12:37 [PATCH 00/11] arm64: dts: qcom: Disable Inline Crypto Engine by default accross all SoCs Abel Vesa
2026-08-28 12:37 ` [PATCH 01/11] arm64: dts: qcom: sm8550: Disable Inline Crypto Engine by default Abel Vesa
2026-08-28 12:47 ` sashiko-bot
2026-08-28 12:37 ` [PATCH 02/11] arm64: dts: qcom: sm8450: " Abel Vesa
2026-08-28 12:52 ` sashiko-bot
2026-08-28 12:37 ` [PATCH 03/11] arm64: dts: qcom: sm8650: " Abel Vesa
2026-08-28 12:52 ` sashiko-bot [this message]
2026-08-28 12:37 ` [PATCH 04/11] arm64: dts: qcom: sm8750: " Abel Vesa
2026-08-28 12:37 ` [PATCH 05/11] arm64: dts: qcom: eliza: " Abel Vesa
2026-08-28 12:37 ` [PATCH 06/11] arm64: dts: qcom: kaanapali: " Abel Vesa
2026-08-28 12:37 ` [PATCH 07/11] arm64: dts: qcom: lemans: " Abel Vesa
2026-08-28 12:37 ` [PATCH 08/11] arm64: dts: qcom: milos: " Abel Vesa
2026-08-28 12:37 ` [PATCH 09/11] arm64: dts: qcom: kodiak: " Abel Vesa
2026-08-28 12:56 ` sashiko-bot
2026-08-28 12:37 ` [PATCH 10/11] arm64: dts: qcom: monaco: " Abel Vesa
2026-08-28 12:37 ` [PATCH 11/11] arm64: dts: qcom: sc7180: " Abel Vesa
2026-08-28 12:47 ` [PATCH 00/11] arm64: dts: qcom: Disable Inline Crypto Engine by default accross all SoCs Kuldeep Singh
2026-08-28 12:58 ` Abel Vesa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260828125210.1184A1F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=abel.vesa@oss.qualcomm.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox