Hi John, Today's linux-next merge of the wireless-next tree got a conflict in drivers/net/wireless/ath/ath9k/main.c between commit 4b883f021b9c ("ath9k: fix rx flush handling") from the net tree and commit 1381559ba48a ("ath9k: clean up processing of pending tx frames on reset") from the wireless-next tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc drivers/net/wireless/ath/ath9k/main.c index dd91f8f,3e5082c..0000000 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c @@@ -182,7 -182,7 +182,7 @@@ static void ath_restart_work(struct ath ath_start_ani(sc); } - static bool ath_prepare_reset(struct ath_softc *sc, bool retry_tx) -static bool ath_prepare_reset(struct ath_softc *sc, bool flush) ++static bool ath_prepare_reset(struct ath_softc *sc) { struct ath_hw *ah = sc->sc_ah; bool ret = true; @@@ -196,12 -196,20 +196,12 @@@ ath9k_debug_samp_bb_mac(sc); ath9k_hw_disable_interrupts(ah); - if (!ath_stoprecv(sc)) + if (!ath_drain_all_txq(sc)) ret = false; - if (!ath_drain_all_txq(sc, retry_tx)) + if (!ath_stoprecv(sc)) ret = false; - if (!flush) { - if (ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) - ath_rx_tasklet(sc, 1, true); - ath_rx_tasklet(sc, 1, false); - } else { - ath_flushrecv(sc); - } - return ret; } @@@ -271,7 -278,8 +270,7 @@@ static int ath_reset_internal(struct at hchan = ah->curchan; } - if (!ath_prepare_reset(sc, retry_tx)) - if (!ath_prepare_reset(sc, flush)) ++ if (!ath_prepare_reset(sc)) fastcc = false; ath_dbg(common, CONFIG, "Reset to %u MHz, HT40: %d fastcc: %d\n", @@@ -797,7 -801,7 +794,7 @@@ static void ath9k_stop(struct ieee80211 ath9k_hw_cfg_gpio_input(ah, ah->led_pin); } - ath_prepare_reset(sc, false); - ath_prepare_reset(sc, true); ++ ath_prepare_reset(sc); if (sc->rx.frag) { dev_kfree_skb_any(sc->rx.frag);
Attachment:
pgp5pX10Htomw.pgp
Description: PGP signature