diff options
author | Adam Jackson <ajax@redhat.com> | 2010-05-25 16:33:09 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-05-26 10:29:58 +1000 |
commit | 4a638b4e38234233f5c7e6705662fbc0b58d80c2 (patch) | |
tree | e4671b361ec2a57cc0ce86aa457939ea6c664efe /drivers | |
parent | 921d98b58285805d792257e311da9e920eb5d73e (diff) | |
download | linux-4a638b4e38234233f5c7e6705662fbc0b58d80c2.tar.gz linux-4a638b4e38234233f5c7e6705662fbc0b58d80c2.tar.bz2 linux-4a638b4e38234233f5c7e6705662fbc0b58d80c2.zip |
drm/edid: Allow non-fatal checksum errors in CEA blocks
Switches will try to update the topology address and not correctly fix
up the checksum, so just let it slide.
https://bugs.freedesktop.org/28229
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/drm_edid.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index f569ae88ab38..c1981861bbbd 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -147,7 +147,10 @@ drm_edid_block_valid(u8 *raw_edid) csum += raw_edid[i]; if (csum) { DRM_ERROR("EDID checksum is invalid, remainder is %d\n", csum); - goto bad; + + /* allow CEA to slide through, switches mangle this */ + if (raw_edid[0] != 0x02) + goto bad; } /* per-block-type checks */ |