diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-02-11 16:39:21 +0000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-02-20 12:21:12 +1000 |
commit | e62fb64e6187ea9d8bcedb17ccaa045ed92d4b55 (patch) | |
tree | d2f7e85ed1ce8afd4e36dd2bfe10f9620756ec8e | |
parent | 85a7bb98582b60b7e9130159d2464eb0bbac13f7 (diff) |
drm: Check for a NULL encoder when reverting on error path
We need to skip the connectors with a NULL encoder to match the success
path and avoid an OOPS.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
-rw-r--r-- | drivers/gpu/drm/drm_crtc_helper.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 964c5eb1fad..8ba22c039a1 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c @@ -775,8 +775,12 @@ int drm_crtc_helper_set_config(struct drm_mode_set *set) fail_set_mode: set->crtc->enabled = save_enabled; count = 0; - list_for_each_entry(connector, &dev->mode_config.connector_list, head) + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + if (!connector->encoder) + continue; + connector->encoder->crtc = save_crtcs[count++]; + } fail_no_encoder: kfree(save_crtcs); count = 0; |