diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-09-05 16:55:25 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-09-07 08:05:38 +1000 |
commit | c7ef35a960369bcad733b92868e4befe03ba9234 (patch) | |
tree | 98c53eab39f74d3259a6d0a55e82a2944b302c24 | |
parent | e58f637bb96d5a0ae0919b9998b891d1ba7e47c9 (diff) | |
download | linux-3.10-c7ef35a960369bcad733b92868e4befe03ba9234.tar.gz linux-3.10-c7ef35a960369bcad733b92868e4befe03ba9234.tar.bz2 linux-3.10-c7ef35a960369bcad733b92868e4befe03ba9234.zip |
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>
-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 06fc0bccaff..d2ab01e90a9 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, } count = (*connector_funcs->get_modes)(connector); - if (!count) { + if (count == 0 && connector->status == connector_status_connected) count = drm_add_modes_noedid(connector, 1024, 768); - if (!count) - return 0; - } + if (count == 0) + goto prune; drm_mode_connector_list_update(connector); |