aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2010-01-14 15:54:23 +0100
committerBen Skeggs <bskeggs@redhat.com>2010-01-15 09:29:35 +1000
commitb8780e2ad20feb8d086bc961a678e8fdb4fa296b (patch)
tree3c3e4196e0019d604f076544ef1b0f6866bb3252
parent0ed3165e55fdedee6fc04b757907a2d5ccacdf18 (diff)
drm/nouveau: Unset the EDID connector property when the EDID block goes away.
Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_connector.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index 3dc7e09da28..8da35281a0c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -239,8 +239,12 @@ nouveau_connector_detect(struct drm_connector *connector)
return connector_status_connected;
}
- kfree(nv_connector->edid);
- nv_connector->edid = NULL;
+ /* Cleanup the previous EDID block. */
+ if (nv_connector->edid) {
+ drm_mode_connector_update_edid_property(connector, NULL);
+ kfree(nv_connector->edid);
+ nv_connector->edid = NULL;
+ }
i2c = nouveau_connector_ddc_detect(connector, &nv_encoder);
if (i2c) {