diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-02-11 11:39:21 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-02-19 21:21:12 -0500 |
commit | e62fb64e6187ea9d8bcedb17ccaa045ed92d4b55 (patch) | |
tree | d2f7e85ed1ce8afd4e36dd2bfe10f9620756ec8e /drivers/gpu | |
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>
Diffstat (limited to 'drivers/gpu')
-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 964c5eb1fada..8ba22c039a11 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) | |||
775 | fail_set_mode: | 775 | fail_set_mode: |
776 | set->crtc->enabled = save_enabled; | 776 | set->crtc->enabled = save_enabled; |
777 | count = 0; | 777 | count = 0; |
778 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) | 778 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { |
779 | if (!connector->encoder) | ||
780 | continue; | ||
781 | |||
779 | connector->encoder->crtc = save_crtcs[count++]; | 782 | connector->encoder->crtc = save_crtcs[count++]; |
783 | } | ||
780 | fail_no_encoder: | 784 | fail_no_encoder: |
781 | kfree(save_crtcs); | 785 | kfree(save_crtcs); |
782 | count = 0; | 786 | count = 0; |