diff options
author | Stefan Sperling <stsp@cvs.openbsd.org> | 2017-07-16 22:03:12 +0000 |
---|---|---|
committer | Stefan Sperling <stsp@cvs.openbsd.org> | 2017-07-16 22:03:12 +0000 |
commit | 6d3255041e169d27bb76cb3df0d90c691da296b2 (patch) | |
tree | f218324273908ca27c99e081ef8ea045dea1d3e7 /sys | |
parent | c6399f26a2ec18b7c073de37e5f6f65683c4a72b (diff) |
Remove the AP from iwm's firmware station table when moving out of AUTH state.
Fixes "could not remove MAC context" errors seen during AUTH->SCAN transitions.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/pci/if_iwm.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/dev/pci/if_iwm.c b/sys/dev/pci/if_iwm.c index 49494a71405..907e36f99d7 100644 --- a/sys/dev/pci/if_iwm.c +++ b/sys/dev/pci/if_iwm.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_iwm.c,v 1.200 2017/07/16 21:35:20 stsp Exp $ */ +/* $OpenBSD: if_iwm.c,v 1.201 2017/07/16 22:03:11 stsp Exp $ */ /* * Copyright (c) 2014, 2016 genua gmbh <info@genua.de> @@ -5435,6 +5435,16 @@ iwm_deauth(struct iwm_softc *sc) splassert(IPL_NET); + if (sc->sc_flags & IWM_FLAG_STA_ACTIVE) { + err = iwm_rm_sta_cmd(sc, in); + if (err) { + printf("%s: could not remove STA (error %d)\n", + DEVNAME(sc), err); + return err; + } + sc->sc_flags &= ~IWM_FLAG_STA_ACTIVE; + } + tfd_msk = 0; for (ac = 0; ac < EDCA_NUM_AC; ac++) tfd_msk |= htole32(1 << iwm_ac_to_tx_fifo[ac]); |