From: Paul Parsons Date: Sat, 26 Mar 2016 13:18:38 +0000 (+0000) Subject: UPSTREAM: drm/edid: Fix parsing of EDID 1.4 Established Timings III descriptor X-Git-Tag: release-20171130_firefly~4^2~366 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=623a9a8175cbb2a82051b83df15897be74ebe22b;p=firefly-linux-kernel-4.4.55.git UPSTREAM: drm/edid: Fix parsing of EDID 1.4 Established Timings III descriptor The EDID 1.4 specification section 3.10.3.9 defines an Established Timings III descriptor (tag #F7h). The parsing of this descriptor by drm_est3_modes() is off by one byte: the offset of the first timing bitmap is 6, not 5. Change-Id: Ic24532d54245e035feb474309a609d7efb330658 Signed-off-by: Paul Parsons Reviewed-by: Ville Syrjälä Signed-off-by: Jani Nikula Link: http://patchwork.freedesktop.org/patch/msgid/20160328002258.E75DF6E35D@gabe.freedesktop.org Signed-off-by: Zheng Yang (cherry picked from commit f3a32d74ef733e1ed1a0b804c17ec27081e0ff37) --- diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 395c2e0af70f..cb3e856a8e51 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -2446,7 +2446,7 @@ drm_est3_modes(struct drm_connector *connector, struct detailed_timing *timing) { int i, j, m, modes = 0; struct drm_display_mode *mode; - u8 *est = ((u8 *)timing) + 5; + u8 *est = ((u8 *)timing) + 6; for (i = 0; i < 6; i++) { for (j = 7; j >= 0; j--) {