Commit a5821ed0 authored by Luca Ceresoli's avatar Luca Ceresoli
Browse files

drm/atomic: use drm_for_each_bridge_in_chain_scoped()



Use drm_for_each_bridge_in_chain_scoped() instead of
drm_for_each_bridge_in_chain() to ensure the bridge being looped on is
refcounted.

Reviewed-by: default avatarMaxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20250808-drm-bridge-alloc-getput-for_each_bridge-v2-5-edb6ee81edf1@bootlin.com


Signed-off-by: default avatarLuca Ceresoli <luca.ceresoli@bootlin.com>
parent d5c5b1de
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -1308,7 +1308,6 @@ drm_atomic_add_encoder_bridges(struct drm_atomic_state *state,
			       struct drm_encoder *encoder)
{
	struct drm_bridge_state *bridge_state;
	struct drm_bridge *bridge;

	if (!encoder)
		return 0;
@@ -1317,7 +1316,7 @@ drm_atomic_add_encoder_bridges(struct drm_atomic_state *state,
		       "Adding all bridges for [encoder:%d:%s] to %p\n",
		       encoder->base.id, encoder->name, state);

	drm_for_each_bridge_in_chain(encoder, bridge) {
	drm_for_each_bridge_in_chain_scoped(encoder, bridge) {
		/* Skip bridges that don't implement the atomic state hooks. */
		if (!bridge->funcs->atomic_duplicate_state)
			continue;