ath9k: Fix queue handling in flush()
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Thu, 2 Oct 2014 01:03:16 +0000 (06:33 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 2 Oct 2014 18:26:31 +0000 (14:26 -0400)
When draining of the TX queues fails, a
full HW reset is done. ath_reset() makes sure
that the queues in mac80211 are restarted,
so there is no need to wake them up again.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/main.c

index b200e11..b4c2642 100644 (file)
@@ -1999,7 +1999,6 @@ void __ath9k_flush(struct ieee80211_hw *hw, u32 queues, bool drop)
        struct ath_common *common = ath9k_hw_common(ah);
        int timeout = HZ / 5; /* 200 ms */
        bool drain_txq;
-       int i;
 
        cancel_delayed_work_sync(&sc->tx_complete_work);
 
@@ -2027,10 +2026,6 @@ void __ath9k_flush(struct ieee80211_hw *hw, u32 queues, bool drop)
                        ath_reset(sc);
 
                ath9k_ps_restore(sc);
-               for (i = 0; i < IEEE80211_NUM_ACS; i++) {
-                       ieee80211_wake_queue(sc->hw,
-                                            sc->cur_chan->hw_queue_base + i);
-               }
        }
 
        ieee80211_queue_delayed_work(hw, &sc->tx_complete_work, 0);