diff options
| author | Sam Leffler <sam@FreeBSD.org> | 2009-09-07 16:41:18 +0000 |
|---|---|---|
| committer | Sam Leffler <sam@FreeBSD.org> | 2009-09-07 16:41:18 +0000 |
| commit | d53c6c91b15033c65faf75cecabfd5c853a13614 (patch) | |
| tree | 84bc62ad205627ddca1b8240f2adbcd83cd631ba | |
| parent | f8083274f09d4b37e42fe959dcd0d334c9deb6f3 (diff) | |
Notes
| -rw-r--r-- | sys/dev/ath/if_ath.c | 11 |
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); } |
