Skip to content

Commit

Permalink
wl12xx: disable 11a channels when regulatory changes if 11a is not su…
Browse files Browse the repository at this point in the history
…pported

Instead of simply not scanning for the 11a channels when not supported by the
hardware, disable the channels in reg_notify.  This centralizes the decision
on whether to scan 5GHz channel in one place and allows userspace to know
exactly which channels are in use.

Based on Juuso Oikarinen's idea.

Cc: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
  • Loading branch information
Luciano Coelho committed Nov 26, 2010
1 parent 6735329 commit 573c67c
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion drivers/net/wireless/wl12xx/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,9 @@ static int wl1271_dev_notify(struct notifier_block *me, unsigned long what,
}

static int wl1271_reg_notify(struct wiphy *wiphy,
struct regulatory_request *request) {
struct regulatory_request *request)
{
struct wl1271 *wl = wiphy_to_ieee80211_hw(wiphy)->priv;
struct ieee80211_supported_band *band;
struct ieee80211_channel *ch;
int i;
Expand All @@ -347,6 +349,11 @@ static int wl1271_reg_notify(struct wiphy *wiphy,
if (ch->flags & IEEE80211_CHAN_DISABLED)
continue;

if (!wl->enable_11a) {
ch->flags |= IEEE80211_CHAN_DISABLED;
continue;
}

if (ch->flags & IEEE80211_CHAN_RADAR)
ch->flags |= IEEE80211_CHAN_NO_IBSS |
IEEE80211_CHAN_PASSIVE_SCAN;
Expand Down

0 comments on commit 573c67c

Please sign in to comment.