diff options
author | Sujith <Sujith.Manoharan@atheros.com> | 2010-01-08 00:06:09 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-01-12 14:02:06 -0500 |
commit | cc9c378aa57817003a094e4bb9a953337ebf035a (patch) | |
tree | 99bc52a7a71dd7699b4fdd787e46a3699aa7b546 /drivers/net/wireless/ath/ath9k/main.c | |
parent | 285f2ddae03ca207877262f5a9dbd9cddd8b3913 (diff) |
ath9k: Fix queue handling
The TX queues have to be stopped during an
internal reset. Not handling this would result
in packet loss - fix this.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/main.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 974de2056b4..1f7222aef89 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c | |||
@@ -944,6 +944,8 @@ int ath_reset(struct ath_softc *sc, bool retry_tx) | |||
944 | /* Stop ANI */ | 944 | /* Stop ANI */ |
945 | del_timer_sync(&common->ani.timer); | 945 | del_timer_sync(&common->ani.timer); |
946 | 946 | ||
947 | ieee80211_stop_queues(hw); | ||
948 | |||
947 | ath9k_hw_set_interrupts(ah, 0); | 949 | ath9k_hw_set_interrupts(ah, 0); |
948 | ath_drain_all_txq(sc, retry_tx); | 950 | ath_drain_all_txq(sc, retry_tx); |
949 | ath_stoprecv(sc); | 951 | ath_stoprecv(sc); |
@@ -985,6 +987,8 @@ int ath_reset(struct ath_softc *sc, bool retry_tx) | |||
985 | } | 987 | } |
986 | } | 988 | } |
987 | 989 | ||
990 | ieee80211_wake_queues(hw); | ||
991 | |||
988 | /* Start ANI */ | 992 | /* Start ANI */ |
989 | ath_start_ani(common); | 993 | ath_start_ani(common); |
990 | 994 | ||