diff options
author | Felix Fietkau <nbd@openwrt.org> | 2013-01-20 18:51:52 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-01-22 16:02:15 -0500 |
commit | 0a62acb1c9da58b54cb1c9fa6604a36507a61d48 (patch) | |
tree | 11e6a10c90ea1b98d31fe5c5d257d240c442001b /drivers/net/wireless/ath/ath9k/main.c | |
parent | eee569e403861392dc693ab984ede5f0610dde29 (diff) | |
download | op-kernel-dev-0a62acb1c9da58b54cb1c9fa6604a36507a61d48.zip op-kernel-dev-0a62acb1c9da58b54cb1c9fa6604a36507a61d48.tar.gz |
ath9k: stop rx after tx
Completing frame transmission can fail if the rx engine is stopped
prematurely, as the hw might be waiting for an ACK from the other side.
Shutting down tx before rx might make the DMA shutdown more reliable.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
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, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 32417fd..407199b 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c @@ -196,10 +196,10 @@ static bool ath_prepare_reset(struct ath_softc *sc, bool retry_tx, bool flush) ath9k_debug_samp_bb_mac(sc); ath9k_hw_disable_interrupts(ah); - if (!ath_stoprecv(sc)) + if (!ath_drain_all_txq(sc, retry_tx)) ret = false; - if (!ath_drain_all_txq(sc, retry_tx)) + if (!ath_stoprecv(sc)) ret = false; if (!flush) { |