linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] mac80211: Dont allow to wake up netif tx queues while on off channel
@ 2010-06-30 10:15 Vasanthakumar Thiagarajan
  2010-06-30 10:17 ` Johannes Berg
  0 siblings, 1 reply; 7+ messages in thread
From: Vasanthakumar Thiagarajan @ 2010-06-30 10:15 UTC (permalink / raw)
  To: linville; +Cc: johannes, linux-wireless

Drivers are not supposed to call ieee80211_wake_queue() while operating
on off channel during sw scanning, but there is no clear way for
the driver to know that it is operating on off channel during scanning.
There are cases (unavailablity/availability of tx buffers in ath9k, for
example) where driver needs to stop/restart tx queues during background
scanning state, this might result in waking up the corresponding netif
tx queue when the device is on off channel which is not desired. This
patches fixes this by checking SCAN_OFF_CHANNEL bit in scanning before
restarting the tx queue.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
---
 net/mac80211/util.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index a54cf14..1938a67 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -277,7 +277,8 @@ static void __ieee80211_wake_queue(struct ieee80211_hw *hw, int queue,
 
 	__clear_bit(reason, &local->queue_stop_reasons[queue]);
 
-	if (local->queue_stop_reasons[queue] != 0)
+	if ((local->queue_stop_reasons[queue] != 0) ||
+	    test_bit(SCAN_OFF_CHANNEL, &local->scanning))
 		/* someone still has this queue stopped */
 		return;
 
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-07-01  9:34 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-30 10:15 [PATCH 1/2] mac80211: Dont allow to wake up netif tx queues while on off channel Vasanthakumar Thiagarajan
2010-06-30 10:17 ` Johannes Berg
2010-06-30 10:26   ` Johannes Berg
2010-06-30 10:51     ` Vasanthakumar Thiagarajan
2010-06-30 10:57       ` Vasanthakumar Thiagarajan
2010-06-30 10:47   ` Vasanthakumar Thiagarajan
2010-07-01  9:34     ` Vasanthakumar Thiagarajan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).