Browse Source

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>
Felix Fietkau 13 năm trước cách đây
mục cha
commit
0a62acb1c9
1 tập tin đã thay đổi với 2 bổ sung2 xóa
  1. 2 2
      drivers/net/wireless/ath/ath9k/main.c

+ 2 - 2
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) {