diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-09-05 17:55:25 +0200 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-09-07 00:05:38 +0200 |
commit | c7ef35a960369bcad733b92868e4befe03ba9234 (patch) | |
tree | 98c53eab39f74d3259a6d0a55e82a2944b302c24 /drivers/gpu | |
parent | drm/kms: Add a module parameter to disable polling (diff) | |
download | linux-c7ef35a960369bcad733b92868e4befe03ba9234.tar.xz linux-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>
Diffstat (limited to 'drivers/gpu')
-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, } 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); |