summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorLuca Ceresoli <luca.ceresoli@bootlin.com>2025-09-24 18:11:01 +0300
committerLuca Ceresoli <luca.ceresoli@bootlin.com>2025-10-03 10:05:25 +0300
commit0f2efbe6d8305b91c9b2c92ebaf8c24a614bc305 (patch)
tree5e1a2cf231575a2a1e9303417914cb8664a9fd55 /drivers/gpu
parent2be300f9a0b6f6b0ae2a90be97e558ec0535be54 (diff)
downloadlinux-0f2efbe6d8305b91c9b2c92ebaf8c24a614bc305.tar.xz
drm/bridge: refcount last_bridge in drm_atomic_bridge_chain_select_bus_fmts()
Get a reference for the last_bridge when it is obtained and release it using a cleanup action. Reviewed-by: Maxime Ripard <mripard@kernel.org> Link: https://lore.kernel.org/r/20250924-b4-drm-bridge-alloc-getput-drm_atomic_bridge_chain_select_bus_fmts-v1-1-f8c2efdb783f@bootlin.com Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/drm_bridge.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c
index 630b5e6594e0..53e7ece36dd9 100644
--- a/drivers/gpu/drm/drm_bridge.c
+++ b/drivers/gpu/drm/drm_bridge.c
@@ -1086,12 +1086,12 @@ drm_atomic_bridge_chain_select_bus_fmts(struct drm_bridge *bridge,
struct drm_encoder *encoder = bridge->encoder;
struct drm_bridge_state *last_bridge_state;
unsigned int i, num_out_bus_fmts = 0;
- struct drm_bridge *last_bridge;
u32 *out_bus_fmts;
int ret = 0;
- last_bridge = list_last_entry(&encoder->bridge_chain,
- struct drm_bridge, chain_node);
+ struct drm_bridge *last_bridge __free(drm_bridge_put) =
+ drm_bridge_get(list_last_entry(&encoder->bridge_chain,
+ struct drm_bridge, chain_node));
last_bridge_state = drm_atomic_get_new_bridge_state(crtc_state->state,
last_bridge);