--- /sys/src/9/pc/etheriwl.c +++ /sys/src/9/pc/etheriwl.c @@ -3452,7 +3452,7 @@ return "qcmd: broken"; } /* wake up the nic (just needed for 7k) */ - if(ctlr->family == 7000 && q->n == 0) + if(ctlr->family == 7000 && qid == 4 && q->n == 0) if(niclock(ctlr) != nil){ iunlock(ctlr); return "qcmd: busy"; @@ -4283,8 +4283,8 @@ if(tx != nil && tx->n > 0){ tx->n--; wakeup(tx); - /* unlock 7k family nics as all commands are done */ - if(ctlr->family == 7000 && tx->n == 0) + /* unlock 7k family nics as the command is done */ + if(ctlr->family == 7000 && qid == 4 && tx->n == 0) nicunlock(ctlr); } }