Thread (19 messages) flat view 19 messages, 4 authors, 10h ago

Re: [PATCH v3 7/7] dt-bindings: display/msm: hdmi: Correct name of disallowed supplies

From: sashiko-bot@kernel.org
Date: 2026-09-08 07:22:53
Also in: dri-devel

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Unclocked register access in `msm_hdmi_bridge_atomic_post_disable` if `atomic_pre_enable` fails, leading to a system crash.
--

commit cf37fcc44eb6e3ec93e18234643d645b17ce8c49
Author: Krzysztof Kozlowski [off-list ref]

dt-bindings: display/msm: hdmi: Correct name of disallowed supplies

There are no properties in DTS or Linux drivers called
"core-vcc-supplies" or "hdmi-mux-supplies", so the binding probably
wanted "-supply" properties instead.
quoted hunk ↗ jump to hunk
diff --git a/Documentation/devicetree/bindings/display/msm/hdmi.yaml b/Documentation/devicetree/bindings/display/msm/hdmi.yaml
index dfec6c3480f3f..02d27ccad0247 100644
--- a/Documentation/devicetree/bindings/display/msm/hdmi.yaml
+++ b/Documentation/devicetree/bindings/display/msm/hdmi.yaml
@@ -113,7 +113,7 @@ allOf:
             - const: core
             - const: master_iface
             - const: slave_iface
-        core-vcc-supplies: false
+        core-vcc-supply: false
[Severity: High]
Can this series cause an unclocked register access regression if
atomic_pre_enable fails?

When a userspace DRM atomic commit triggers atomic_pre_enable, if
msm_hdmi_power_on() fails (e.g., clk_prepare_enable failure), the error path
introduced earlier in this patch series disables PHY resources and returns
early:

drivers/gpu/drm/msm/hdmi/hdmi_bridge.c:msm_hdmi_bridge_atomic_pre_enable() {
			if (msm_hdmi_power_on(bridge)) {
				msm_hdmi_phy_resource_disable(phy);
				return;
			}
}

This leaves hdmi->power_on as false. Since DRM core continues because
atomic_pre_enable returns void, later when the pipeline is disabled,
msm_hdmi_bridge_atomic_post_disable() is called unconditionally:

drivers/gpu/drm/msm/hdmi/hdmi_bridge.c:msm_hdmi_bridge_atomic_post_disable() {
	msm_hdmi_set_mode(hdmi, hdmi->hpd_enabled);

	msm_hdmi_phy_powerdown(phy);

	if (hdmi->power_on) {
}

These functions execute register writes without being guarded by
hdmi->power_on. Since PHY resources were dropped on error, it writes to
unclocked and unpowered hardware, which can cause a bus error or synchronous
external abort.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260908-drm-msm-hdmi-fixes-before-eliza-v3-0-dcf8956878ca@oss.qualcomm.com?part=7
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help