]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/9/pc/etheriwl.c
merge
[plan9front.git] / sys / src / 9 / pc / etheriwl.c
index 93285850eef091414cf3f751119b716e2df7940e..f003b5da7160b138366345decf87b4213b121d69 100644 (file)
@@ -2892,6 +2892,8 @@ postboot6000(Ctlr *ctlr)
        if((err = cmd(ctlr, 90, c, 4+4*16)) != nil)
                return err;
 
+       /* 6235 times out if we calibrate the crystal immediately */
+       tsleep(&up->sleep, return0, nil, 10);
        if(ctlr->type != Type5150){
                /* calibrate crystal */
                memset(c, 0, sizeof(c));
@@ -3500,6 +3502,7 @@ flushq(Ctlr *ctlr, uint qid)
        qunlock(q);
        if(ctlr->broken)
                return "flushq: broken";
+       ctlr->broken = 1;
        return "flushq: timeout";
 }
 
@@ -4294,6 +4297,7 @@ iwlshutdown(Ether *edev)
        if(ctlr->power)
                poweroff(ctlr);
        ctlr->broken = 0;
+       pcidisable(ctlr->pdev);
 }
 
 static Ctlr *iwlhead, *iwltail;