Blob Blame History Raw
From b763624a2ad4b1e90491e4c0d58a0c7985ce9e2a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
Date: Fri, 13 Mar 2020 18:20:52 +0200
Subject: drm/edid: Don't include ext block csum in DispID size
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Git-commit: 5f706b4a3bd68e5982879bb60f7bb27698e759b3
Patch-mainline: v5.8-rc1
References: jsc#SLE-12680, jsc#SLE-12880, jsc#SLE-12882, jsc#SLE-12883, jsc#SLE-13496, jsc#SLE-15322

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>
Link: https://patchwork.freedesktop.org/patch/msgid/20200313162054.16009-8-ville.syrjala@linux.intel.com
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Patrik Jakobsson <pjakobsson@suse.de>
---
 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 4a964bfbf116..9063cbe6a665 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -3223,7 +3223,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.28.0