diff options
author | sam <sam@FreeBSD.org> | 2009-02-22 18:48:54 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2009-02-22 18:48:54 +0000 |
commit | 317670e2098e7e455d2dfc44d0ce357151c03f90 (patch) | |
tree | 9f19af498dcf7e0b11fc8d069392d054056717e0 /sys/net80211/ieee80211_tdma.c | |
parent | f2445982b73ede41f2ff7d28a754fd70e1e94674 (diff) | |
download | FreeBSD-src-317670e2098e7e455d2dfc44d0ce357151c03f90.zip FreeBSD-src-317670e2098e7e455d2dfc44d0ce357151c03f90.tar.gz |
change tdma slave behaviour: if the channel is locked don't do bmiss handling
(so no scanning/roaming)
Reviewed by: Chris Anderson
Diffstat (limited to 'sys/net80211/ieee80211_tdma.c')
-rw-r--r-- | sys/net80211/ieee80211_tdma.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/net80211/ieee80211_tdma.c b/sys/net80211/ieee80211_tdma.c index be9de26..82ba29e 100644 --- a/sys/net80211/ieee80211_tdma.c +++ b/sys/net80211/ieee80211_tdma.c @@ -240,11 +240,14 @@ tdma_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) if (status == 0 && nstate == IEEE80211_S_RUN && ostate != IEEE80211_S_RUN && (vap->iv_flags_ext & IEEE80211_FEXT_SWBMISS) && - ts->tdma_slot != 0) { + ts->tdma_slot != 0 && + vap->iv_des_chan == IEEE80211_CHAN_ANYC) { /* * Start s/w beacon miss timer for slave devices w/o - * hardware support. The 2x is a fudge for our doing - * this in software. + * hardware support. Note we do this only if we're + * not locked to a channel (i.e. roam to follow the + * master). The 2x is a fudge for our doing this in + * software. */ vap->iv_swbmiss_period = IEEE80211_TU_TO_TICKS( 2 * vap->iv_bmissthreshold * ts->tdma_bintval * |