diff options
Diffstat (limited to 'sys/src/9/pc/ether82598.c')
| -rw-r--r-- | sys/src/9/pc/ether82598.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/src/9/pc/ether82598.c b/sys/src/9/pc/ether82598.c index eaba15e82..b786eced7 100644 --- a/sys/src/9/pc/ether82598.c +++ b/sys/src/9/pc/ether82598.c @@ -375,6 +375,8 @@ lproc(void *v) e = v; c = e->ctlr; + while(waserror()) + ; for (;;) { r = c->reg[Links]; e->link = (r & Lnkup) != 0; @@ -467,6 +469,8 @@ tproc(void *v) e = v; c = e->ctlr; + while(waserror()) + ; for (;;) { sleep(&c->trendez, tim, c); /* transmit kicks us */ c->tim = 0; @@ -551,6 +555,8 @@ rproc(void *v) c = e->ctlr; m = c->nrd - 1; rdh = 0; + while(waserror()) + ; loop: replenish(c, rdh); im(c, Irx0); |
