Ben Skeggs b126e8d
From 115cb7ab7d3b87fe43b1fe9b05ec894b1fcfb5cf Mon Sep 17 00:00:00 2001
Ben Skeggs b126e8d
From: Adam Jackson <ajax@redhat.com>
Ben Skeggs b126e8d
Date: Wed, 7 Dec 2011 18:26:23 -0500
Ben Skeggs b126e8d
Subject: [PATCH] drm/edid: Try harder to fix up broken headers
Ben Skeggs b126e8d
Ben Skeggs b126e8d
There's no reason to force the first byte to be correct if we're already
Ben Skeggs b126e8d
scoring how correct the header is.
Ben Skeggs b126e8d
Ben Skeggs b126e8d
See also: https://bugzilla.redhat.com/show_bug.cgi?id=722909
Ben Skeggs b126e8d
Ben Skeggs b126e8d
Signed-off-by: Adam Jackson <ajax@redhat.com>
Ben Skeggs b126e8d
---
Ben Skeggs b126e8d
 drivers/gpu/drm/drm_edid.c |   18 ++++++++----------
Ben Skeggs b126e8d
 1 files changed, 8 insertions(+), 10 deletions(-)
Ben Skeggs b126e8d
Ben Skeggs b126e8d
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
Ben Skeggs b126e8d
index 7425e5c..8b16a49 100644
Ben Skeggs b126e8d
--- a/drivers/gpu/drm/drm_edid.c
Ben Skeggs b126e8d
+++ b/drivers/gpu/drm/drm_edid.c
Ben Skeggs b126e8d
@@ -154,16 +154,14 @@ drm_edid_block_valid(u8 *raw_edid)
Ben Skeggs b126e8d
 	int i;
Ben Skeggs b126e8d
 	u8 csum = 0;
Ben Skeggs b126e8d
 	struct edid *edid = (struct edid *)raw_edid;
Ben Skeggs b126e8d
-
Ben Skeggs b126e8d
-	if (raw_edid[0] == 0x00) {
Ben Skeggs b126e8d
-		int score = drm_edid_header_is_valid(raw_edid);
Ben Skeggs b126e8d
-		if (score == 8) ;
Ben Skeggs b126e8d
-		else if (score >= 6) {
Ben Skeggs b126e8d
-			DRM_DEBUG("Fixing EDID header, your hardware may be failing\n");
Ben Skeggs b126e8d
-			memcpy(raw_edid, edid_header, sizeof(edid_header));
Ben Skeggs b126e8d
-		} else {
Ben Skeggs b126e8d
-			goto bad;
Ben Skeggs b126e8d
-		}
Ben Skeggs b126e8d
+	int score = drm_edid_header_is_valid(raw_edid);
Ben Skeggs b126e8d
+
Ben Skeggs b126e8d
+	if (score == 8) ;
Ben Skeggs b126e8d
+	else if (score >= 6) {
Ben Skeggs b126e8d
+		DRM_DEBUG("Fixing EDID header, your hardware may be failing\n");
Ben Skeggs b126e8d
+		memcpy(raw_edid, edid_header, sizeof(edid_header));
Ben Skeggs b126e8d
+	} else {
Ben Skeggs b126e8d
+		goto bad;
Ben Skeggs b126e8d
 	}
Ben Skeggs b126e8d
 
Ben Skeggs b126e8d
 	for (i = 0; i < EDID_LENGTH; i++)
Ben Skeggs b126e8d
-- 
Ben Skeggs b126e8d
1.7.7.3
Ben Skeggs b126e8d