Skip to contentSkip to conversation

ath9k: Call ieee80211_wake_queue() during ATH_WIPHY_SCAN state also

PATCH In review Vasanthakumar Thiagarajan 1 participant 1 message Jun 30, 2010 Qualcomm Atheros ATH9K wireless driver

lore
Share & tools
lore
#0 lore raw

PATCH 2/2 ath9k: Call ieee80211_wake_queue() during ATH_WIPHY_SCAN state also

Along with "mac80211: Dont allow to wake up netif tx queues while on off channel" this patch fixes a tx hang issue which shows up when starting a background scanning. The cause for hang is a missed call to ieee80211_wake_queue() after the tx queue was stopped due to tx buffer shortage.

---
 drivers/net/wireless/ath/ath9k/virtual.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
drivers/net/wireless/ath/ath9k/virtual.c +2 -1
index 89423ca..2c2f193 100644
@@ -703,7 +703,8 @@ void ath_mac80211_start_queue(struct ath_softc *sc, u16 skb_queue)
 	spin_lock_bh(&sc->wiphy_lock);
 
 	/* Start the primary wiphy */
-	if (sc->pri_wiphy->state == ATH_WIPHY_ACTIVE) {
+	if ((sc->pri_wiphy->state == ATH_WIPHY_ACTIVE) ||
+	    (sc->pri_wiphy->state == ATH_WIPHY_SCAN)) {
 		ieee80211_wake_queue(hw, skb_queue);
 		goto unlock;
 	}
Signature · 1 line
1.7.0.4