forked from luck/tmp_suning_uos_patched
drm: bridge: Detach all bridges in a chain at encoder cleanup time
Instead of detaching only the bridge directly connected to the encoder, detach all bridges in the chain. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Archit Taneja <architt@codeaurora.org> Link: http://patchwork.freedesktop.org/patch/msgid/1481709550-29226-6-git-send-email-laurent.pinchart+renesas@ideasonboard.com
This commit is contained in:
parent
4a878c03d5
commit
6e15174ecd
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user