git: 9front

Download patch

ref: e92b3115f9b40a46cd851e4bb97a18f0509acb77
parent: a3c3a749f3b93a4afa8dc129d194ec396bd20ffc
author: cinap_lenrek <cinap_lenrek@gmx.de>
date: Sun Aug 11 14:32:42 EDT 2013

ether6105m: increase timeouts for Soekris 5501s (from sources)

--- a/sys/src/9/pc/ethervt6105m.c
+++ b/sys/src/9/pc/ethervt6105m.c
@@ -1025,12 +1025,13 @@
 	 */
 	csr16w(ctlr, Cr, Stop);
 	csr16w(ctlr, Cr, Stop|Sfrst);
-	for(timeo = 0; timeo < 10000; timeo++){
+	/* limit used to be 10000, but that wasn't enough for our Soekris 5501s */
+	for(timeo = 0; timeo < 100000; timeo++){
 		if(!(csr16r(ctlr, Cr) & Sfrst))
 			break;
 		microdelay(1);
 	}
-	if(timeo >= 1000)
+	if(timeo >= 100000)
 		return -1;
 
 	return 0;
@@ -1051,12 +1052,13 @@
 	 */
 	r = csr8r(ctlr, Eecsr);
 	csr8w(ctlr, Eecsr, Autold|r);
-	for(timeo = 0; timeo < 100; timeo++){
+	/* limit used to be 100, but that wasn't enough for our Soekris 5501s */
+	for(timeo = 0; timeo < 100000; timeo++){
 		if(!(csr8r(ctlr, Cr) & Autold))
 			break;
 		microdelay(1);
 	}
-	if(timeo >= 100)
+	if(timeo >= 100000)
 		return -1;
 
 	for(i = 0; i < Eaddrlen; i++)
--