summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRajkumar Manoharan2010-12-30 14:37:44 +0100
committerJohn W. Linville2011-01-04 20:43:01 +0100
commit1186488b4a4d4871e40cb1604ba3ede3d4b7cc90 (patch)
treea1a6290109f95c5fa570fb7615ab7993723c3db4
parentRevert "ath9k: Parse DTIM period from mac80211" (diff)
downloadkernel-qcow2-linux-1186488b4a4d4871e40cb1604ba3ede3d4b7cc90.tar.gz
kernel-qcow2-linux-1186488b4a4d4871e40cb1604ba3ede3d4b7cc90.tar.xz
kernel-qcow2-linux-1186488b4a4d4871e40cb1604ba3ede3d4b7cc90.zip
ath9k: fix beacon restart on channel change
Restart the beacon timers only if the beacon was already configured. Otherwise beacons timers are restarted unnecessarily in unassociated state too. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 0f1b62456141..a818e4fd56f5 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -285,7 +285,8 @@ int ath_set_channel(struct ath_softc *sc, struct ieee80211_hw *hw,
ath9k_hw_set_interrupts(ah, ah->imask);
if (!(sc->sc_flags & (SC_OP_OFFCHANNEL))) {
- ath_beacon_config(sc, NULL);
+ if (sc->sc_flags & SC_OP_BEACONS)
+ ath_beacon_config(sc, NULL);
ieee80211_queue_delayed_work(sc->hw, &sc->tx_complete_work, 0);
ath_start_ani(common);
}