From 5f706b4a3bd68e5982879bb60f7bb27698e759b3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ville=20Syrj=C3=A4l=C3=A4?= Date: Fri, 13 Mar 2020 18:20:52 +0200 Subject: [PATCH] drm/edid: Don't include ext block csum in DispID size MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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ä Link: https://patchwork.freedesktop.org/patch/msgid/20200313162054.16009-8-ville.syrjala@linux.intel.com Reviewed-by: Alex Deucher --- drivers/gpu/drm/drm_edid.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 35d46f5ffb604..d86062d53a67d 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); -- 2.30.2