problem found by cinap. don't touch Isrc2 in ifstats(), as this will turn interrupts off. potentially forever. Reference: /n/atom/patch/applied/yukifstats Date: Mon Jan 13 15:07:27 CET 2014 Signed-off-by: quanstro@quanstro.net --- /sys/src/9/pcpae/etheryuk.c Mon Jan 13 15:06:16 2014 +++ /sys/src/9/pcpae/etheryuk.c Mon Jan 13 15:06:18 2014 @@ -1825,7 +1825,7 @@ p = seprint(p, e, "%s\t%ud\n", stattab[i].name, u); } p = seprint(p, e, "stat %.4ux ctl %.3ux\n", gmacread(c, Stat), gmacread(c, Ctl)); - p = seprint(p, e, "irq %.8ux\n", c->reg[Isrc2]); +// p = seprint(p, e, "irq %.8ux\n", c->reg[Isrc2]); p = seprint(p, e, "pref %.8ux %.4ux\n", prread32(c, Qr + Pctl), prread16(c, Qr + Pgetidx)); p = seprint(p, e, "nfast %ud nslow %ud\n", rbtab[c->qno].nfast, rbtab[c->qno].nslow); if(debug){ --- /sys/src/9/pc/etheryuk.c Mon Jan 13 15:06:20 2014 +++ /sys/src/9/pc/etheryuk.c Mon Jan 13 15:06:22 2014 @@ -1825,7 +1825,7 @@ p = seprint(p, e, "%s\t%ud\n", stattab[i].name, u); } p = seprint(p, e, "stat %.4ux ctl %.3ux\n", gmacread(c, Stat), gmacread(c, Ctl)); - p = seprint(p, e, "irq %.8ux\n", c->reg[Isrc2]); +// p = seprint(p, e, "irq %.8ux\n", c->reg[Isrc2]); p = seprint(p, e, "pref %.8ux %.4ux\n", prread32(c, Qr + Pctl), prread16(c, Qr + Pgetidx)); p = seprint(p, e, "nfast %ud nslow %ud\n", rbtab[c->qno].nfast, rbtab[c->qno].nslow); if(debug){