diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-10-05 22:43:25 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-10-05 22:43:25 +0200 |
commit | 204a96f163641de8ebca76a0b0873412b3b333aa (patch) | |
tree | cabb60a617f16d832c41e5e777d7e24341dd79e0 | |
parent | 6f76d0030034303e753e359c05a7d630bbb42aed (diff) | |
parent | d49b9e1b845f0f815a87b2404bc351c1fdd8cd1b (diff) |
merge
-rw-r--r-- | sys/src/9/pc/etheriwl.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/sys/src/9/pc/etheriwl.c b/sys/src/9/pc/etheriwl.c index 96f356392..6aba5023e 100644 --- a/sys/src/9/pc/etheriwl.c +++ b/sys/src/9/pc/etheriwl.c @@ -3540,11 +3540,24 @@ static char* rxoff7000(Ether *edev, Ctlr *ctlr) { char *err; + int i; + + for(i = 0; i < nelem(ctlr->tx); i++) + flushq(ctlr, i); + settimeevent(ctlr, CmdRemove, 0); if((err = setbindingquotas(ctlr, -1)) != nil){ print("can't disable quotas: %s\n", err); return err; } + if((err = delstation(ctlr, &ctlr->bss)) != nil){ + print("can't remove bss station: %s\n", err); + return err; + } + if((err = delstation(ctlr, &ctlr->bcast)) != nil){ + print("can't remove bcast station: %s\n", err); + return err; + } if((err = setbindingcontext(ctlr, CmdRemove)) != nil){ print("removing bindingcontext: %s\n", err); return err; @@ -3638,14 +3651,9 @@ rxon(Ether *edev, Wnode *bss) Ctlr *ctlr = edev->ctlr; char *err; - if(ctlr->family >= 7000){ - flushq(ctlr, 0); - delstation(ctlr, &ctlr->bss); - delstation(ctlr, &ctlr->bcast); - settimeevent(ctlr, CmdRemove, 0); + if(ctlr->family >= 7000) if((err = rxoff7000(edev, ctlr)) != nil) goto Out; - } ctlr->rxfilter = FilterNoDecrypt | FilterMulticast | FilterBeacon; if(ctlr->family >= 7000) |