cfg80211: add bss_type and privacy arguments in cfg80211_get_bss()
authorDedy Lansky <dlansky@codeaurora.org>
Sun, 8 Feb 2015 13:52:03 +0000 (15:52 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 3 Mar 2015 14:56:01 +0000 (15:56 +0100)
commit6eb18137643fee5f182d85c818062b4feddfb76b
tree6c9712c947498fd2291a53acfe2be48711a881ac
parent76a70e9c4b45fc1dbcbff6f7ae88ac7e1ddfb677
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>
13 files changed:
drivers/net/wireless/ath/ath10k/mac.c
drivers/net/wireless/ath/ath6kl/cfg80211.c
drivers/net/wireless/ath/wil6210/cfg80211.c
drivers/net/wireless/cw1200/sta.c
drivers/net/wireless/libertas/cfg.c
drivers/net/wireless/mwifiex/cfg80211.c
include/net/cfg80211.h
net/mac80211/ibss.c
net/wireless/ibss.c
net/wireless/mlme.c
net/wireless/scan.c
net/wireless/sme.c
net/wireless/trace.h