summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_crtc_helper.c
diff options
context:
space:
mode:
authorAdam Jackson2009-09-08 03:51:46 +0200
committerDave Airlie2009-09-08 03:51:46 +0200
commit620f37811dcc9e0f97ee79fbf8908fcc097deaee (patch)
tree3622ded2c5a7f95bf0113097eb7d1a736a616d7c /drivers/gpu/drm/drm_crtc_helper.c
parentdrm: shut the EDID warnings up. (diff)
downloadkernel-qcow2-linux-620f37811dcc9e0f97ee79fbf8908fcc097deaee.tar.gz
kernel-qcow2-linux-620f37811dcc9e0f97ee79fbf8908fcc097deaee.tar.xz
kernel-qcow2-linux-620f37811dcc9e0f97ee79fbf8908fcc097deaee.zip
drm: prune modes when output is disconnected.
When an output was disconnected, its mode list would remain. If you later plugged into a sink with no EDID (projector, etc), you'd inherit the mode list from the old sink, which is not what you want. taken from Fedora kernel Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_crtc_helper.c')
-rw-r--r--drivers/gpu/drm/drm_crtc_helper.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
index c9a50c729330..ff447f175a56 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -95,8 +95,7 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
if (connector->status == connector_status_disconnected) {
DRM_DEBUG_KMS("%s is disconnected\n",
drm_get_connector_name(connector));
- /* TODO set EDID to NULL */
- return 0;
+ goto prune;
}
count = (*connector_funcs->get_modes)(connector);
@@ -124,6 +123,7 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
mode);
}
+prune:
drm_mode_prune_invalid(dev, &connector->modes, true);
if (list_empty(&connector->modes))