rpms/kernel/devel kernel.spec, 1.297, 1.298 linux-2.6-e1000-corrupt-eeprom-checksum.patch, 1.1, 1.2

Dave Jones (davej) fedora-extras-commits at redhat.com
Wed Dec 12 20:43:26 UTC 2007


Author: davej

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv7041

Modified Files:
	kernel.spec linux-2.6-e1000-corrupt-eeprom-checksum.patch 
Log Message:
* Wed Dec 12 2007 Dave Jones <davej at redhat.com>
- Better version of the e1000 bad eeprom workaround.



Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.297
retrieving revision 1.298
diff -u -r1.297 -r1.298
--- kernel.spec	12 Dec 2007 16:18:05 -0000	1.297
+++ kernel.spec	12 Dec 2007 20:42:37 -0000	1.298
@@ -1739,6 +1739,9 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
 
 %changelog
+* Wed Dec 12 2007 Dave Jones <davej at redhat.com>
+- Better version of the e1000 bad eeprom workaround.
+
 * Wed Dec 12 2007 Kyle McMartin <kmcmartin at redhat.com>
 - 2.6.24-rc5-git2
 

linux-2.6-e1000-corrupt-eeprom-checksum.patch:

Index: linux-2.6-e1000-corrupt-eeprom-checksum.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-e1000-corrupt-eeprom-checksum.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-e1000-corrupt-eeprom-checksum.patch	15 Oct 2007 18:36:20 -0000	1.1
+++ linux-2.6-e1000-corrupt-eeprom-checksum.patch	12 Dec 2007 20:42:37 -0000	1.2
@@ -1,30 +1,34 @@
-http://www.thinkwiki.org/wiki/Problem_with_e1000:_EEPROM_Checksum_Is_Not_Valid
-
---- linux-2.6.23.noarch/drivers/net/e1000/e1000_main.c~	2007-10-15 14:29:07.000000000 -0400
-+++ linux-2.6.23.noarch/drivers/net/e1000/e1000_main.c	2007-10-15 14:31:11.000000000 -0400
-@@ -1003,14 +1003,18 @@ e1000_probe(struct pci_dev *pdev,
- 		goto err_eeprom;
- 	}
+diff -up linux-2.6.23.noarch/drivers/net/e1000/e1000_main.c.jx vanilla/drivers/net/e1000/e1000_main.c
+--- linux-2.6.23.noarch/drivers/net/e1000/e1000_main.c.jx	2007-10-09 16:31:38.000000000 -0400
++++ linux-2.6.23.noarch/drivers/net/e1000/e1000_main.c	2007-10-22 16:33:01.000000000 -0400
+@@ -255,6 +255,10 @@ static int debug = NETIF_MSG_DRV | NETIF
+ module_param(debug, int, 0);
+ MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
  
--	/* before reading the EEPROM, reset the controller to
--	 * put the device in a known good starting state */
--
--	e1000_reset_hw(&adapter->hw);
--
--	/* make sure the EEPROM is good */
--
- 	if (e1000_validate_eeprom_checksum(&adapter->hw) < 0) {
-+		/* before reading the EEPROM, reset the controller to
-+		 * put the device in a known good starting state */
-+		e1000_reset_hw(&adapter->hw);
-+
-+		/* make sure the EEPROM is good */
-+
-+		if (e1000_validate_eeprom_checksum(&adapter->hw) < 0) {
-+			DPRINTK(PROBE, ERR, "The EEPROM Checksum Is Not Valid\n");
-+			goto err_eeprom;
-+		}
++static int eeprom_bad_csum_allow = 0;
++module_param(eeprom_bad_csum_allow, int, 0);
++MODULE_PARM_DESC(eeprom_bad_csum_allow, "Allow bad eeprom checksums");
 +
+ /**
+  * e1000_init_module - Driver Registration Routine
+  *
+@@ -1012,7 +1016,8 @@ e1000_probe(struct pci_dev *pdev,
+ 
+ 	if (e1000_validate_eeprom_checksum(&adapter->hw) < 0) {
  		DPRINTK(PROBE, ERR, "The EEPROM Checksum Is Not Valid\n");
- 		goto err_eeprom;
+-		goto err_eeprom;
++		if (!eeprom_bad_csum_allow)
++			goto err_eeprom;
+ 	}
+ 
+ 	/* copy the MAC address out of the EEPROM */
+@@ -1024,7 +1029,8 @@ e1000_probe(struct pci_dev *pdev,
+ 
+ 	if (!is_valid_ether_addr(netdev->perm_addr)) {
+ 		DPRINTK(PROBE, ERR, "Invalid MAC Address\n");
+-		goto err_eeprom;
++		if (!eeprom_bad_csum_allow)
++			goto err_eeprom;
  	}
+ 
+ 	e1000_get_bus_info(&adapter->hw);




More information about the fedora-extras-commits mailing list