projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
61aa4f7
)
drm/bridge: put the bridge returned by drm_bridge_get_next_bridge()
author
Luca Ceresoli
<luca.ceresoli@bootlin.com>
Fri, 1 Aug 2025 17:05:30 +0000
(19:05 +0200)
committer
Luca Ceresoli
<luca.ceresoli@bootlin.com>
Tue, 16 Sep 2025 13:22:41 +0000
(15:22 +0200)
The bridge returned by drm_bridge_get_next_bridge() is refcounted. Put it
when done. We need to ensure it is not put before either next_bridge or
next_bridge_state is in use, thus for simplicity use a cleanup action.
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link:
https://lore.kernel.org/r/20250801-drm-bridge-alloc-getput-drm_bridge_get_next_bridge-v2-8-888912b0be13@bootlin.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
drivers/gpu/drm/drm_bridge.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/drm_bridge.c
b/drivers/gpu/drm/drm_bridge.c
index
18c0e8b
..
5f265e8
100644
(file)
--- a/
drivers/gpu/drm/drm_bridge.c
+++ b/
drivers/gpu/drm/drm_bridge.c
@@
-1121,7
+1121,6
@@
drm_atomic_bridge_propagate_bus_flags(struct drm_bridge *bridge,
struct drm_atomic_state *state)
{
struct drm_bridge_state *bridge_state, *next_bridge_state;
- struct drm_bridge *next_bridge;
u32 output_flags = 0;
bridge_state = drm_atomic_get_new_bridge_state(state, bridge);
@@
-1130,7
+1129,7
@@
drm_atomic_bridge_propagate_bus_flags(struct drm_bridge *bridge,
if (!bridge_state)
return;
-
next_bridge
= drm_bridge_get_next_bridge(bridge);
+
struct drm_bridge *next_bridge __free(drm_bridge_put)
= drm_bridge_get_next_bridge(bridge);
/*
* Let's try to apply the most common case here, that is, propagate