aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2020-06-01 06:10:25 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2020-06-01 06:10:25 +0000
commitf6287cc63c7283ef4b789b5ff1b8fe24660f8073 (patch)
tree76f28169ed1fc59efa2ecdeb251eafda2ff9b417 /sys
parent694f3fc81c43969075ac28c0555ebc88083e7127 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/ath/if_ath_rx.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/dev/ath/if_ath_rx.c b/sys/dev/ath/if_ath_rx.c
index dfa95e637ac4..336a04691c7a 100644
--- a/sys/dev/ath/if_ath_rx.c
+++ b/sys/dev/ath/if_ath_rx.c
@@ -447,9 +447,17 @@ ath_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m,
(unsigned int) (nexttbtt >> 10),
(int32_t) tsf_beacon - (int32_t) nexttbtt + tsf_intval);
- /* We only do syncbeacon on STA VAPs; not on IBSS */
+ /*
+ * We only do syncbeacon on STA VAPs; not on IBSS;
+ * but don't do it with swbmiss enabled or we
+ * may end up overwriting AP mode beacon config.
+ *
+ * The driver (and net80211) should be smarter about
+ * this..
+ */
if (vap->iv_opmode == IEEE80211_M_STA &&
sc->sc_syncbeacon &&
+ (!sc->sc_swbmiss) &&
ni == vap->iv_bss &&
(vap->iv_state == IEEE80211_S_RUN || vap->iv_state == IEEE80211_S_SLEEP)) {
DPRINTF(sc, ATH_DEBUG_BEACON,