summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_tdma.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2009-02-22 18:48:54 +0000
committersam <sam@FreeBSD.org>2009-02-22 18:48:54 +0000
commit317670e2098e7e455d2dfc44d0ce357151c03f90 (patch)
tree9f19af498dcf7e0b11fc8d069392d054056717e0 /sys/net80211/ieee80211_tdma.c
parentf2445982b73ede41f2ff7d28a754fd70e1e94674 (diff)
downloadFreeBSD-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.c9
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 *
OpenPOWER on IntegriCloud