Message ID | 20250314-drm-bridge-refcount-v7-7-152571f8c694@bootlin.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/bridge: add devm_drm_bridge_alloc() with bridge refcount | expand |
On Fri, 14 Mar 2025 11:31:20 +0100, Luca Ceresoli wrote: > The bridge returned by drm_bridge_chain_get_first_bridge() is > refcounted. Put it when done. Use a scope-based free action to catch all > the code paths. > > Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> > > [ ... ] Reviewed-by: Maxime Ripard <mripard@kernel.org> Thanks! Maxime
diff --git a/drivers/gpu/drm/mxsfb/lcdif_kms.c b/drivers/gpu/drm/mxsfb/lcdif_kms.c index dbd42cc1da87f82ef9cd4ccc70cdecbe56035174..21311cf5efee7d26c80316bffe80dd2bfed02238 100644 --- a/drivers/gpu/drm/mxsfb/lcdif_kms.c +++ b/drivers/gpu/drm/mxsfb/lcdif_kms.c @@ -433,7 +433,6 @@ static int lcdif_crtc_atomic_check(struct drm_crtc *crtc, struct drm_connector *connector; struct drm_encoder *encoder; struct drm_bridge_state *bridge_state; - struct drm_bridge *bridge; u32 bus_format, bus_flags; bool format_set = false, flags_set = false; int ret, i; @@ -448,6 +447,8 @@ static int lcdif_crtc_atomic_check(struct drm_crtc *crtc, /* Try to find consistent bus format and flags across first bridges. */ for_each_new_connector_in_state(state, connector, connector_state, i) { + struct drm_bridge *bridge __free(drm_bridge_put) = NULL; + if (!connector_state->crtc) continue;
The bridge returned by drm_bridge_chain_get_first_bridge() is refcounted. Put it when done. Use a scope-based free action to catch all the code paths. Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> --- This patch was added in v7. --- drivers/gpu/drm/mxsfb/lcdif_kms.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)