aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorJessica Clarke <jrtc27@freebsd.org>2025-04-01 00:43:13 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2025-04-23 02:02:39 +0000
commit5c74aa3abd4e353ed7f8cb446c0527c8ebe15d1c (patch)
tree1b48e2e348232390baa3338f428811fcb963e18f /sys/dev
parente6c91f8e5be66d774bc07f4055aa38fb2e287ff6 (diff)
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/rtwn/if_rtwn.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/rtwn/if_rtwn.c b/sys/dev/rtwn/if_rtwn.c
index 7df1b78db37b..7a547e13cafa 100644
--- a/sys/dev/rtwn/if_rtwn.c
+++ b/sys/dev/rtwn/if_rtwn.c
@@ -1203,6 +1203,9 @@ rtwn_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
/* Stop Rx of data frames. */
rtwn_write_2(sc, R92C_RXFLTMAP2, 0);
+ /* Stop Rx of control frames. */
+ rtwn_write_2(sc, R92C_RXFLTMAP1, 0);
+
/* Reset EDCA parameters. */
rtwn_write_4(sc, R92C_EDCA_VO_PARAM, 0x002f3217);
rtwn_write_4(sc, R92C_EDCA_VI_PARAM, 0x005e4317);
@@ -1374,6 +1377,11 @@ rtwn_run(struct rtwn_softc *sc, struct ieee80211vap *vap)
rtwn_write_2(sc, R92C_BCN_INTERVAL(uvp->id), ni->ni_intval);
if (sc->vaps_running == sc->monvaps_running) {
+ /* Enable Rx of BAR control frames. */
+ rtwn_write_2(sc, R92C_RXFLTMAP1,
+ 1 << (IEEE80211_FC0_SUBTYPE_BAR >>
+ IEEE80211_FC0_SUBTYPE_SHIFT));
+
/* Enable Rx of data frames. */
rtwn_write_2(sc, R92C_RXFLTMAP2, 0xffff);