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++)
--
⑨