diff --git a/sys/src/9/pc/ethervt6105m.c b/sys/src/9/pc/ethervt6105m.c index 546e62a3c..9b608c422 100644 --- a/sys/src/9/pc/ethervt6105m.c +++ b/sys/src/9/pc/ethervt6105m.c @@ -1025,12 +1025,13 @@ vt6105Mdetach(Ctlr* ctlr) */ 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 @@ vt6105Mreset(Ctlr* ctlr) */ 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++)