summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Leffler <sam@FreeBSD.org>2009-09-07 16:41:18 +0000
committerSam Leffler <sam@FreeBSD.org>2009-09-07 16:41:18 +0000
commitd53c6c91b15033c65faf75cecabfd5c853a13614 (patch)
tree84bc62ad205627ddca1b8240f2adbcd83cd631ba
parentf8083274f09d4b37e42fe959dcd0d334c9deb6f3 (diff)
Notes
-rw-r--r--sys/dev/ath/if_ath.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c
index a789f5ea2984..5628addc33aa 100644
--- a/sys/dev/ath/if_ath.c
+++ b/sys/dev/ath/if_ath.c
@@ -1236,7 +1236,16 @@ ath_resume(struct ath_softc *sc)
if (sc->sc_resume_up) {
if (ic->ic_opmode == IEEE80211_M_STA) {
ath_init(sc);
- ieee80211_beacon_miss(ic);
+ /*
+ * Program the beacon registers using the last rx'd
+ * beacon frame and enable sync on the next beacon
+ * we see. This should handle the case where we
+ * wakeup and find the same AP and also the case where
+ * we wakeup and need to roam. For the latter we
+ * should get bmiss events that trigger a roam.
+ */
+ ath_beacon_config(sc, NULL);
+ sc->sc_syncbeacon = 1;
} else
ieee80211_resume_all(ic);
}