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