Message ID | 4C992B73.5040605@yahoo.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index f87bf10..5ade343 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -285,6 +285,15 @@ carp: dev_warn(connector->dev->dev, "%s: EDID block %d invalid.\n", drm_get_connector_name(connector), j); + /* Invalid extension, so set block[0x7e] to zero, and return + * the base block */ + block[EDID_LENGTH-1] += block[0x7e]; + block[0x7e] = 0; + new = krealloc(block, EDID_LENGTH, GFP_KERNEL); + if (!new) + goto out; + block = new; + return block; out: kfree(block); return NULL;