]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/bridge: display-connector: put the bridge obtained by drm_bridge_get_prev_bridge()
authorLuca Ceresoli <luca.ceresoli@bootlin.com>
Wed, 9 Jul 2025 15:59:39 +0000 (17:59 +0200)
committerLuca Ceresoli <luca.ceresoli@bootlin.com>
Wed, 23 Jul 2025 11:03:53 +0000 (13:03 +0200)
The bridge returned by drm_bridge_get_prev_bridge() is refcounted. Put it
when done.

To keep the code clean and future-proof use a scope-based free.

Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20250709-drm-bridge-alloc-getput-drm_bridge_get_prev_bridge-v1-3-34ba6f395aaa@bootlin.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
drivers/gpu/drm/bridge/display-connector.c

index 52b7b5889e6fea9de01db8bf0ce807424ec51e22..d7e1c2f8f53cad514ec502d58c1b94d348515b42 100644 (file)
@@ -108,7 +108,7 @@ static u32 *display_connector_get_output_bus_fmts(struct drm_bridge *bridge,
                                        struct drm_connector_state *conn_state,
                                        unsigned int *num_output_fmts)
 {
-       struct drm_bridge *prev_bridge = drm_bridge_get_prev_bridge(bridge);
+       struct drm_bridge *prev_bridge __free(drm_bridge_put) = drm_bridge_get_prev_bridge(bridge);
        struct drm_bridge_state *prev_bridge_state;
 
        if (!prev_bridge || !prev_bridge->funcs->atomic_get_output_bus_fmts) {
@@ -151,7 +151,7 @@ static u32 *display_connector_get_input_bus_fmts(struct drm_bridge *bridge,
                                        u32 output_fmt,
                                        unsigned int *num_input_fmts)
 {
-       struct drm_bridge *prev_bridge = drm_bridge_get_prev_bridge(bridge);
+       struct drm_bridge *prev_bridge __free(drm_bridge_put) = drm_bridge_get_prev_bridge(bridge);
        struct drm_bridge_state *prev_bridge_state;
 
        if (!prev_bridge || !prev_bridge->funcs->atomic_get_input_bus_fmts) {