From 2646e2ddf224dd73e5d967f67a57bb5da28a91ed Mon Sep 17 00:00:00 2001 From: Luciano Coelho Date: Fri, 3 Dec 2010 17:05:40 +0200 Subject: [PATCH] --- yaml --- r: 225318 b: refs/heads/master c: fb6a6819fad0d71b47577a51709440a9f8441f0a h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/wl12xx/main.c | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 068342c6045b..e364e70d2d73 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1036dc169f4cc6e5b753b1596d285d1cc3311a23 +refs/heads/master: fb6a6819fad0d71b47577a51709440a9f8441f0a diff --git a/trunk/drivers/net/wireless/wl12xx/main.c b/trunk/drivers/net/wireless/wl12xx/main.c index dc3a09319d12..0b79c49cd877 100644 --- a/trunk/drivers/net/wireless/wl12xx/main.c +++ b/trunk/drivers/net/wireless/wl12xx/main.c @@ -338,7 +338,6 @@ 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 wl1271 *wl = wiphy_to_ieee80211_hw(wiphy)->priv; struct ieee80211_supported_band *band; struct ieee80211_channel *ch; int i; @@ -349,11 +348,6 @@ 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; @@ -1071,6 +1065,16 @@ static int wl1271_op_add_interface(struct ieee80211_hw *hw, strncpy(wiphy->fw_version, wl->chip.fw_ver, sizeof(wiphy->fw_version)); + /* + * Now we know if 11a is supported (info from the NVS), so disable + * 11a channels if not supported + */ + if (!wl->enable_11a) + wiphy->bands[IEEE80211_BAND_5GHZ]->n_channels = 0; + + wl1271_debug(DEBUG_MAC80211, "11a is %ssupported", + wl->enable_11a ? "" : "not "); + out: mutex_unlock(&wl->mutex);