Subject: [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.

Signed-off-by: Vasanthakumar Thiagarajan <[email protected]>
---
drivers/net/wireless/ath/ath9k/virtual.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/virtual.c b/drivers/net/wireless/ath/ath9k/virtual.c
index 89423ca..2c2f193 100644
--- a/drivers/net/wireless/ath/ath9k/virtual.c
+++ b/drivers/net/wireless/ath/ath9k/virtual.c
@@ -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;
}
--
1.7.0.4