rpms/kernel/F-12 drm-edid-retry.patch, NONE, 1.1 kernel.spec, 1.1902, 1.1903

Adam Jackson ajax at fedoraproject.org
Wed Nov 4 15:49:06 UTC 2009


Author: ajax

Update of /cvs/pkgs/rpms/kernel/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv24819

Modified Files:
	kernel.spec 
Added Files:
	drm-edid-retry.patch 
Log Message:
* Wed Nov 04 2009 Adam Jackson <ajax at redhat.com> 2.6.31.5-117
- drm-edid-retry.patch: Try DDC up to four times, like X. (#532957)


drm-edid-retry.patch:
 drm_edid.c |   28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

--- NEW FILE drm-edid-retry.patch ---
diff -up linux-2.6.31.noarch/drivers/gpu/drm/drm_edid.c.jx linux-2.6.31.noarch/drivers/gpu/drm/drm_edid.c
--- linux-2.6.31.noarch/drivers/gpu/drm/drm_edid.c.jx	2009-11-04 09:42:27.000000000 -0500
+++ linux-2.6.31.noarch/drivers/gpu/drm/drm_edid.c	2009-11-04 10:41:29.000000000 -0500
@@ -133,9 +133,6 @@ static bool edid_is_valid(struct edid *e
 		DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version);
 		goto bad;
 	}
-	if (edid->revision > 4)
-		DRM_DEBUG("EDID minor > 4, assuming backward compatibility\n");
-
 	for (i = 0; i < EDID_LENGTH; i++)
 		csum += raw_edid[i];
 	if (csum) {
@@ -143,6 +140,9 @@ static bool edid_is_valid(struct edid *e
 		goto bad;
 	}
 
+	if (edid->revision > 4)
+		DRM_DEBUG("EDID minor > 4, assuming backward compatibility\n");
+
 	return 1;
 
 bad:
@@ -1060,19 +1060,19 @@ static int drm_ddc_read_edid(struct drm_
 			     struct i2c_adapter *adapter,
 			     char *buf, int len)
 {
-	int ret;
+	int i
 
-	ret = drm_do_probe_ddc_edid(adapter, buf, len);
-	if (ret != 0) {
-		goto end;
-	}
-	if (!edid_is_valid((struct edid *)buf)) {
-		dev_warn(&connector->dev->pdev->dev, "%s: EDID invalid.\n",
-			 drm_get_connector_name(connector));
-		ret = -1;
+	for (i = 0; i < 4; i++) {
+		if (drm_do_probe_ddc_edid(adapter, buf, len))
+			return -1;
+		if (edid_is_valid((struct edid *)buf))
+			return 0;
 	}
-end:
-	return ret;
+
+	/* repeated checksum failures; warn, but carry on */
+	dev_warn(&connector->dev->pdev->dev, "%s: EDID invalid.\n",
+		 drm_get_connector_name(connector));
+	return -1;
 }
 
 /**


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-12/kernel.spec,v
retrieving revision 1.1902
retrieving revision 1.1903
diff -u -p -r1.1902 -r1.1903
--- kernel.spec	4 Nov 2009 14:03:45 -0000	1.1902
+++ kernel.spec	4 Nov 2009 15:49:05 -0000	1.1903
@@ -701,6 +701,7 @@ Patch1828: drm-radeon-agp-font-fix.patch
 Patch1829: drm-radeon-fix-ring-rmw-issue.patch
 Patch1830: drm-r600-lenovo-w500-fix.patch
 Patch1831: drm-conservative-fallback-modes.patch
+Patch1832: drm-edid-retry.patch
 
 # vga arb
 Patch1900: linux-2.6-vga-arb.patch
@@ -2137,6 +2138,9 @@ fi
 # and build.
 
 %changelog
+* Wed Nov 04 2009 Adam Jackson <ajax at redhat.com> 2.6.31.5-117
+- drm-edid-retry.patch: Try DDC up to four times, like X. (#532957)
+
 * Wed Nov 04 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.31.5-116
 - tg3 bug fixes (#527209)
 




More information about the fedora-extras-commits mailing list