ath9k: Implement dev_tx_frames_pending callback.
authorVivek Natarajan <vnatarajan@atheros.com>
Wed, 6 Apr 2011 06:11:11 +0000 (11:41 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 12 Apr 2011 20:57:34 +0000 (16:57 -0400)
This function returns true if there is atleast one frame
in any one of the tx queues.

Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/main.c

index ba1c9a684eff426e05855f3c1428022141adfa2b..93b9fa2cbaf82e25e3ac79f2480ed5feb0400438 100644 (file)
@@ -2201,6 +2201,21 @@ out:
        ath9k_ps_restore(sc);
 }
 
+static bool ath9k_tx_frames_pending(struct ieee80211_hw *hw)
+{
+       struct ath_softc *sc = hw->priv;
+       int i;
+
+       for (i = 0; i < ATH9K_NUM_TX_QUEUES; i++) {
+               if (!ATH_TXQ_SETUP(sc, i))
+                       continue;
+
+               if (ath9k_has_pending_frames(sc, &sc->tx.txq[i]))
+                       return true;
+       }
+       return false;
+}
+
 struct ieee80211_ops ath9k_ops = {
        .tx                 = ath9k_tx,
        .start              = ath9k_start,
@@ -2223,4 +2238,5 @@ struct ieee80211_ops ath9k_ops = {
        .rfkill_poll        = ath9k_rfkill_poll_state,
        .set_coverage_class = ath9k_set_coverage_class,
        .flush              = ath9k_flush,
+       .tx_frames_pending  = ath9k_tx_frames_pending,
 };