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