summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlina Friedrichsen <x-alina@gmx.net>2009-02-19 23:46:31 +0100
committerJohn W. Linville <linville@tuxdriver.com>2009-02-27 20:52:48 +0100
commitf452a63d1ea7d2bae9b4a0cd0a865bcee7ce90c4 (patch)
tree665ebe2cc85435532165b4b63e69e9696c9641b7
parentb43: Optimize DMA buffers (diff)
downloadlinux-f452a63d1ea7d2bae9b4a0cd0a865bcee7ce90c4.tar.xz
linux-f452a63d1ea7d2bae9b4a0cd0a865bcee7ce90c4.zip
ath9k: Don't reset TSF after scanning automatically
Reset automatically the TSF on re-enabling beaconing after scanning in IBSS mode causes several problems. For example a new created IBSS network can't age before an other node has joined, because scans are done automatically in that case. And several other strange bugs more... The TSF reset is done manually in the higher level mac80211 code in the cases were it's needed, so we don't need to do it here. Signed-off-by: Alina Friedrichsen <x-alina@gmx.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath9k/beacon.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath9k/beacon.c b/drivers/net/wireless/ath9k/beacon.c
index 390d5109e826..18bda362d3ab 100644
--- a/drivers/net/wireless/ath9k/beacon.c
+++ b/drivers/net/wireless/ath9k/beacon.c
@@ -790,8 +790,6 @@ void ath_beacon_config(struct ath_softc *sc, int if_id)
u64 tsf;
u32 tsftu;
ath9k_hw_set_interrupts(ah, 0);
- if (nexttbtt == intval)
- intval |= ATH9K_BEACON_RESET_TSF;
if (sc->sc_ah->opmode == NL80211_IFTYPE_ADHOC) {
/*
* Pull nexttbtt forward to reflect the current
@@ -825,6 +823,9 @@ void ath_beacon_config(struct ath_softc *sc, int if_id)
sc->imask |= ATH9K_INT_SWBA;
ath_beaconq_config(sc);
} else if (sc->sc_ah->opmode == NL80211_IFTYPE_AP) {
+ if (nexttbtt == intval)
+ intval |= ATH9K_BEACON_RESET_TSF;
+
/*
* In AP mode we enable the beacon timers and
* SWBA interrupts to prepare beacon frames.