ath9k: Check virtual wiphy state on tx()
authorJouni Malinen <jouni.malinen@atheros.com>
Tue, 3 Mar 2009 17:23:36 +0000 (19:23 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 5 Mar 2009 19:39:47 +0000 (14:39 -0500)
mac80211 should not be requesting us to transmit frames on paused
wiphys since we stop the TX queues. Just in case, add debug code to
make sure we catch if this were to happen.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath9k/main.c

index 9b5f214936508c373362f1f123619c1ecf135cd8..6d19a31934d5d66979351b65283c6b265bf1d774 100644 (file)
@@ -2077,6 +2077,12 @@ static int ath9k_tx(struct ieee80211_hw *hw,
        struct ath_tx_control txctl;
        int hdrlen, padsize;
 
+       if (aphy->state != ATH_WIPHY_ACTIVE) {
+               printk(KERN_DEBUG "ath9k: %s: TX in unexpected wiphy state "
+                      "%d\n", wiphy_name(hw->wiphy), aphy->state);
+               goto exit;
+       }
+
        memset(&txctl, 0, sizeof(struct ath_tx_control));
 
        /*