diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-09-05 11:55:25 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-09-06 18:05:38 -0400 |
commit | c7ef35a960369bcad733b92868e4befe03ba9234 (patch) | |
tree | 98c53eab39f74d3259a6d0a55e82a2944b302c24 /drivers/gpu/drm | |
parent | e58f637bb96d5a0ae0919b9998b891d1ba7e47c9 (diff) |
drm: Do not force 1024x768 modes on unknown connectors
Only fallback to a set of default modes on a connector iff that
connector is known to be connected. The issue occurs that with limited
hardware which cannot probe a connector and so reports the
connector status as unknown will then attempt to retrieve the modes for
it during drm_helper_probe_single_connector_modes(). Should that fail,
the helper then generates a default set which fools the fb_helper and
causes havoc with the console and beyond.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/drm_crtc_helper.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 06fc0bccaff7..d2ab01e90a96 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c | |||
@@ -115,11 +115,10 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector, | |||
115 | } | 115 | } |
116 | 116 | ||
117 | count = (*connector_funcs->get_modes)(connector); | 117 | count = (*connector_funcs->get_modes)(connector); |
118 | if (!count) { | 118 | if (count == 0 && connector->status == connector_status_connected) |
119 | count = drm_add_modes_noedid(connector, 1024, 768); | 119 | count = drm_add_modes_noedid(connector, 1024, 768); |
120 | if (!count) | 120 | if (count == 0) |
121 | return 0; | 121 | goto prune; |
122 | } | ||
123 | 122 | ||
124 | drm_mode_connector_list_update(connector); | 123 | drm_mode_connector_list_update(connector); |
125 | 124 | ||