Found this in testing.  If we fail in the CRTC helper set config function, we 
try to restore the previous configuration.  But we fail to check that a given 
connector's encoder exists before restoring its CRTC.  So add a check in the 
restore loop to match the initial loop.

Signed-off-by: Jesse Barnes <jbar...@virtuousgeek.org>

diff --git a/drivers/gpu/drm/drm_crtc_helper.c 
b/drivers/gpu/drm/drm_crtc_helper.c
index 964c5eb..fa0b2c9 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -776,7 +776,8 @@ fail_set_mode:
        set->crtc->enabled = save_enabled;
        count = 0;
        list_for_each_entry(connector, &dev->mode_config.connector_list, head)
-               connector->encoder->crtc = save_crtcs[count++];
+               if (connector->encoder)
+                       connector->encoder->crtc = save_crtcs[count++];
 fail_no_encoder:
        kfree(save_crtcs);
        count = 0;

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to