aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/rx.c
diff options
context:
space:
mode:
authorBen Greear <greearb@candelatech.com>2012-04-17 13:54:16 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-04-23 15:28:33 -0400
commit8a690674e0601efbe9a7b16a5826fc522645cca3 (patch)
treec22f122d36d33a2ac446a0626a0fa4213cb9190d /net/mac80211/rx.c
parente828b9fb4f6c3513950759d5fb902db5bd054048 (diff)
mac80211: Support on-channel scan option.
This based on an idea posted by Stanislaw Gruszka, though I accept full blame for the implementation! This has been tested with ath9k. The idea is to let users scan on the current operating channel without interrupting normal traffic more than absolutely necessary (changing power level might reset some hardware, for instance). Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r--net/mac80211/rx.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 54a049123a60..dd2fbec23eeb 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -425,6 +425,7 @@ ieee80211_rx_h_passive_scan(struct ieee80211_rx_data *rx)
425 425
426 if (test_bit(SCAN_HW_SCANNING, &local->scanning) || 426 if (test_bit(SCAN_HW_SCANNING, &local->scanning) ||
427 test_bit(SCAN_SW_SCANNING, &local->scanning) || 427 test_bit(SCAN_SW_SCANNING, &local->scanning) ||
428 test_bit(SCAN_ONCHANNEL_SCANNING, &local->scanning) ||
428 local->sched_scanning) 429 local->sched_scanning)
429 return ieee80211_scan_rx(rx->sdata, skb); 430 return ieee80211_scan_rx(rx->sdata, skb);
430 431
@@ -2915,6 +2916,7 @@ static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw,
2915 local->dot11ReceivedFragmentCount++; 2916 local->dot11ReceivedFragmentCount++;
2916 2917
2917 if (unlikely(test_bit(SCAN_HW_SCANNING, &local->scanning) || 2918 if (unlikely(test_bit(SCAN_HW_SCANNING, &local->scanning) ||
2919 test_bit(SCAN_ONCHANNEL_SCANNING, &local->scanning) ||
2918 test_bit(SCAN_SW_SCANNING, &local->scanning))) 2920 test_bit(SCAN_SW_SCANNING, &local->scanning)))
2919 status->rx_flags |= IEEE80211_RX_IN_SCAN; 2921 status->rx_flags |= IEEE80211_RX_IN_SCAN;
2920 2922