[7/9] drm/edid: Don't include ext block csum in DispID size
diff mbox series

Message ID 20200313162054.16009-8-ville.syrjala@linux.intel.com
State New
Headers show
Series
  • drm/edid: DisplayID parser fixes
Related show

Commit Message

Ville Syrjälä March 13, 2020, 4:20 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

The EDID extension block checksum byte is not part of the
actual DispID data, so don't use it in validate_displayid().

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/drm_edid.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Patch
diff mbox series

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 3067be710e5b..f1ba06396c0a 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -3222,7 +3222,8 @@  static u8 *drm_find_displayid_extension(const struct edid *edid,
 	if (!displayid)
 		return NULL;
 
-	*length = EDID_LENGTH;
+	/* EDID extensions block checksum isn't for us */
+	*length = EDID_LENGTH - 1;
 	*idx = 1;
 
 	ret = validate_displayid(displayid, *length, *idx);