[PATCH v6 12/15] drm/rockchip: dw_hdmi_qp: Do not mask error code in atomic_check()
Daniel Stone
daniel at fooishbar.org
Thu Nov 5 03:55:50 PST 2026
On Thu, 5 Nov 2026 at 01:01, Cristian Ciocaltea
<cristian.ciocaltea at collabora.com> wrote:
> dw_hdmi_qp_rockchip_get_vop_format() calls
> drm_atomic_get_bridge_state(), which takes the bridge private object
> lock through the atomic state's ww acquire context and may therefore
> fail with -EDEADLK when the lock is contended.
>
> The DRM core expects -EDEADLK to be propagated up from atomic_check()
> so it can drop all held locks and restart the commit. Replacing it
> with a hardcoded -EINVAL defeats this backoff mechanism, making
> otherwise valid commits fail spuriously when multiple threads perform
> atomic commits concurrently.
>
> Propagate the error code returned by the helper instead of
> unnecessarily overriding it.
Reviewed-by: Daniel Stone <daniels at collabora.com>
More information about the Linux-rockchip
mailing list