[PATCH v2 06/15] drm/bridge: inno-hdmi: Add .disable platform operation
sashiko-bot at kernel.org
sashiko-bot at kernel.org
Fri Aug 28 06:57:46 PDT 2026
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Atomic Context Violation: Invoking sleeping functions from atomic context
--
commit 2003c6678c3684f19742ce18515a5d05db18fc6c
Author: Michal Wilczynski <m.wilczynski at samsung.com>
drm/bridge: inno-hdmi: Add .disable platform operation
This commit adds a new .disable platform operation to the inno_hdmi_plat_ops
struct. It invokes this hook at the beginning of
inno_hdmi_bridge_atomic_disable() to allow platform-specific drivers to
implement their own power down sequences.
> diff --git a/drivers/gpu/drm/bridge/inno-hdmi.c b/drivers/gpu/drm/bridge/inno-hdmi.c
> index ebc5093f13ac4..952cc55c10f7d 100644
> --- a/drivers/gpu/drm/bridge/inno-hdmi.c
> +++ b/drivers/gpu/drm/bridge/inno-hdmi.c
> @@ -884,6 +884,10 @@ static void inno_hdmi_bridge_atomic_disable(struct drm_bridge *bridge,
> struct drm_atomic_commit *state)
> {
> struct inno_hdmi *hdmi = bridge_to_inno_hdmi(bridge);
> + const struct inno_hdmi_plat_ops *plat_ops = hdmi->plat_data->ops;
> +
> + if (plat_ops && plat_ops->disable)
> + plat_ops->disable(hdmi->dev);
[Severity: High]
The commit message mentions this hook allows platform drivers to implement
power down sequences by calling clk_disable_unprepare(). Since
inno_hdmi_bridge_atomic_disable() is called from the atomic commit pipeline
(drm_atomic_helper_commit_tail()), where sleeping is strictly forbidden,
can this lead to an atomic context violation?
Because clk_disable_unprepare() acquires a mutex internally, it is a
sleeping function. Calling it from this path could cause system instability,
kernel warnings, or deadlocks during a display modeset, DPMS state change,
or system suspend.
>
> inno_hdmi_standby(hdmi);
> }
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260828-jh7110-clean-send-v2-0-331680c8b9d1@samsung.com?part=6
More information about the linux-phy
mailing list