Преглед изворни кода

ath9k: Check virtual wiphy state on tx()

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>
Jouni Malinen пре 16 година
родитељ
комит
ee166a0e71
1 измењених фајлова са 6 додато и 0 уклоњено
  1. 6 0
      drivers/net/wireless/ath9k/main.c

+ 6 - 0
drivers/net/wireless/ath9k/main.c

@@ -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));
 
 	/*