diff options
author | Adam Jackson <ajax@redhat.com> | 2010-05-25 16:33:09 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-05-25 20:29:58 -0400 |
commit | 4a638b4e38234233f5c7e6705662fbc0b58d80c2 (patch) | |
tree | e4671b361ec2a57cc0ce86aa457939ea6c664efe /drivers/gpu | |
parent | 921d98b58285805d792257e311da9e920eb5d73e (diff) |
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/gpu')
-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) | |||
147 | csum += raw_edid[i]; | 147 | csum += raw_edid[i]; |
148 | if (csum) { | 148 | if (csum) { |
149 | DRM_ERROR("EDID checksum is invalid, remainder is %d\n", csum); | 149 | DRM_ERROR("EDID checksum is invalid, remainder is %d\n", csum); |
150 | goto bad; | 150 | |
151 | /* allow CEA to slide through, switches mangle this */ | ||
152 | if (raw_edid[0] != 0x02) | ||
153 | goto bad; | ||
151 | } | 154 | } |
152 | 155 | ||
153 | /* per-block-type checks */ | 156 | /* per-block-type checks */ |