diff options
author | Dedy Lansky <dlansky@codeaurora.org> | 2015-02-08 08:52:03 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2015-03-03 09:56:01 -0500 |
commit | 6eb18137643fee5f182d85c818062b4feddfb76b (patch) | |
tree | 6c9712c947498fd2291a53acfe2be48711a881ac /drivers/net/wireless/libertas | |
parent | 76a70e9c4b45fc1dbcbff6f7ae88ac7e1ddfb677 (diff) |
cfg80211: add bss_type and privacy arguments in cfg80211_get_bss()
802.11ad adds new a network type (PBSS) and changes the capability
field interpretation for the DMG (60G) band.
The same 2 bits that were interpreted as "ESS" and "IBSS" before are
re-used as a 2-bit field with 3 valid values (and 1 reserved). Valid
values are: "IBSS", "PBSS" (new) and "AP".
In order to get the BSS struct for the new PBSS networks, change the
cfg80211_get_bss() function to take a new enum ieee80211_bss_type
argument with the valid network types, as "capa_mask" and "capa_val"
no longer work correctly (the search must be band-aware now.)
The remaining bits in "capa_mask" and "capa_val" are used only for
privacy matching so replace those two with a privacy enum as well.
Signed-off-by: Dedy Lansky <dlansky@codeaurora.org>
[rewrite commit log, tiny fixes]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/libertas')
-rw-r--r-- | drivers/net/wireless/libertas/cfg.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/libertas/cfg.c b/drivers/net/wireless/libertas/cfg.c index a92985a6ea21..1a4d558022d8 100644 --- a/drivers/net/wireless/libertas/cfg.c +++ b/drivers/net/wireless/libertas/cfg.c | |||
@@ -1356,8 +1356,8 @@ static int lbs_cfg_connect(struct wiphy *wiphy, struct net_device *dev, | |||
1356 | 1356 | ||
1357 | /* Find the BSS we want using available scan results */ | 1357 | /* Find the BSS we want using available scan results */ |
1358 | bss = cfg80211_get_bss(wiphy, sme->channel, sme->bssid, | 1358 | bss = cfg80211_get_bss(wiphy, sme->channel, sme->bssid, |
1359 | sme->ssid, sme->ssid_len, | 1359 | sme->ssid, sme->ssid_len, IEEE80211_BSS_TYPE_ESS, |
1360 | WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS); | 1360 | IEEE80211_PRIVACY_ANY); |
1361 | if (!bss) { | 1361 | if (!bss) { |
1362 | wiphy_err(wiphy, "assoc: bss %pM not in scan results\n", | 1362 | wiphy_err(wiphy, "assoc: bss %pM not in scan results\n", |
1363 | sme->bssid); | 1363 | sme->bssid); |
@@ -2000,7 +2000,7 @@ static int lbs_join_ibss(struct wiphy *wiphy, struct net_device *dev, | |||
2000 | * bss list is populated already */ | 2000 | * bss list is populated already */ |
2001 | bss = cfg80211_get_bss(wiphy, params->chandef.chan, params->bssid, | 2001 | bss = cfg80211_get_bss(wiphy, params->chandef.chan, params->bssid, |
2002 | params->ssid, params->ssid_len, | 2002 | params->ssid, params->ssid_len, |
2003 | WLAN_CAPABILITY_IBSS, WLAN_CAPABILITY_IBSS); | 2003 | IEEE80211_BSS_TYPE_IBSS, IEEE80211_PRIVACY_ANY); |
2004 | 2004 | ||
2005 | if (bss) { | 2005 | if (bss) { |
2006 | ret = lbs_ibss_join_existing(priv, params, bss); | 2006 | ret = lbs_ibss_join_existing(priv, params, bss); |