projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4a878c0
)
drm: bridge: Detach all bridges in a chain at encoder cleanup time
author
Laurent Pinchart
<
[email protected]
>
Tue, 29 Nov 2016 18:55:44 +0000
(20:55 +0200)
committer
Archit Taneja
<
[email protected]
>
Sun, 18 Dec 2016 11:02:49 +0000
(16:32 +0530)
Instead of detaching only the bridge directly connected to the encoder,
detach all bridges in the chain.
Signed-off-by: Laurent Pinchart <
[email protected]
>
Reviewed-by: Daniel Vetter <
[email protected]
>
Signed-off-by: Archit Taneja <
[email protected]
>
Link:
http://patchwork.freedesktop.org/patch/msgid/1481709550-29226-6-git-send-email-laurent.pinchart+renesas@ideasonboard.com
drivers/gpu/drm/drm_encoder.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/drm_encoder.c
b/drivers/gpu/drm/drm_encoder.c
index 0944f08abf58612d8ae13f137ad600b687836c67..5dde3c6b14678e591b14cb1f4c42de93346cef22 100644
(file)
--- a/
drivers/gpu/drm/drm_encoder.c
+++ b/
drivers/gpu/drm/drm_encoder.c
@@
-159,8
+159,16
@@
void drm_encoder_cleanup(struct drm_encoder *encoder)
* the indices on the drm_encoder after us in the encoder_list.
*/
- if (encoder->bridge)
- drm_bridge_detach(encoder->bridge);
+ if (encoder->bridge) {
+ struct drm_bridge *bridge = encoder->bridge;
+ struct drm_bridge *next;
+
+ while (bridge) {
+ next = bridge->next;
+ drm_bridge_detach(bridge);
+ bridge = next;
+ }
+ }
drm_mode_object_unregister(dev, &encoder->base);
kfree(encoder->name);