2011-09-15 10:54:22

by Rajkumar Manoharan

[permalink] [raw]
Subject: [RFC] mac80211: Do not allow disabled channel during scan

The scan decision allows disabled channel to be set. So the
probe request was seen over the disabled channel. This patch
skips the disabled channel while scanning.

Signed-off-by: Rajkumar Manoharan <[email protected]>
---
net/mac80211/scan.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
index 6f09eca..9c3d309 100644
--- a/net/mac80211/scan.c
+++ b/net/mac80211/scan.c
@@ -616,6 +616,10 @@ static void ieee80211_scan_state_set_channel(struct ieee80211_local *local,
if (ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL))
skip = 1;

+ /* Skip disabled channels */
+ if (chan->flags & IEEE80211_CHAN_DISABLED)
+ skip = 1;
+
/* advance state machine to next channel/band */
local->scan_channel_idx++;

--
1.7.6.1



2011-09-15 10:59:23

by Johannes Berg

[permalink] [raw]
Subject: Re: [RFC] mac80211: Do not allow disabled channel during scan

On Thu, 2011-09-15 at 16:24 +0530, Rajkumar Manoharan wrote:
> The scan decision allows disabled channel to be set. So the
> probe request was seen over the disabled channel. This patch
> skips the disabled channel while scanning.

Nack. We want to scan those passively.

> Signed-off-by: Rajkumar Manoharan <[email protected]>
> ---
> net/mac80211/scan.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
> index 6f09eca..9c3d309 100644
> --- a/net/mac80211/scan.c
> +++ b/net/mac80211/scan.c
> @@ -616,6 +616,10 @@ static void ieee80211_scan_state_set_channel(struct ieee80211_local *local,
> if (ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL))
> skip = 1;
>
> + /* Skip disabled channels */
> + if (chan->flags & IEEE80211_CHAN_DISABLED)
> + skip = 1;
> +
> /* advance state machine to next channel/band */
> local->scan_channel_idx++;
>