summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-09-05 16:55:25 +0100
committerDave Airlie <airlied@redhat.com>2010-09-07 08:05:38 +1000
commitc7ef35a960369bcad733b92868e4befe03ba9234 (patch)
tree98c53eab39f74d3259a6d0a55e82a2944b302c24
parente58f637bb96d5a0ae0919b9998b891d1ba7e47c9 (diff)
downloadlinux-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.c7
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);