ath9k: fix the return value of ath_stoprecv

The patch 'ath9k_hw: fix stopping rx DMA during resets' added code to detect
a condition where rx DMA was stopped, but the MAC failed to enter the idle
state. This condition requires a hardware reset, however the return value
of ath_stoprecv was 'true' in that case, which allowed it to skip the reset
when issuing a fast channel change.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Reported-by: Paul Stewart <pstew@google.com>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by Felix Fietkau and committed by John W. Linville 2232d31b 7caa2316

+1 -1
+1 -1
drivers/net/wireless/ath/ath9k/recv.c
··· 506 "confusing the DMA engine when we start RX up\n"); 507 ATH_DBG_WARN_ON_ONCE(!stopped); 508 } 509 - return stopped || reset; 510 } 511 512 void ath_flushrecv(struct ath_softc *sc)
··· 506 "confusing the DMA engine when we start RX up\n"); 507 ATH_DBG_WARN_ON_ONCE(!stopped); 508 } 509 + return stopped && !reset; 510 } 511 512 void ath_flushrecv(struct ath_softc *sc)