aboutsummaryrefslogtreecommitdiff
path: root/sys/net80211/ieee80211_tdma.c
diff options
context:
space:
mode:
authorSam Leffler <sam@FreeBSD.org>2009-02-22 18:48:54 +0000
committerSam Leffler <sam@FreeBSD.org>2009-02-22 18:48:54 +0000
commitcc3e9fe79c8cb88d88e4cad48f57df9165a43252 (patch)
tree9f19af498dcf7e0b11fc8d069392d054056717e0 /sys/net80211/ieee80211_tdma.c
parent110a70e3b2cc88d38e2e3afb77fa5a6b0e36d9ca (diff)
downloadsrc-cc3e9fe79c8cb88d88e4cad48f57df9165a43252.tar.gz
src-cc3e9fe79c8cb88d88e4cad48f57df9165a43252.zip
change tdma slave behaviour: if the channel is locked don't do bmiss handling
(so no scanning/roaming) Reviewed by: Chris Anderson
Notes
Notes: svn path=/head/; revision=188925
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 be9de26be833..82ba29e6bf08 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 *