|
@@ -867,6 +867,35 @@ static const u32 mwifiex_cipher_suites[] = {
|
|
|
WLAN_CIPHER_SUITE_AES_CMAC,
|
|
|
};
|
|
|
|
|
|
+/* Supported mgmt frame types to be advertised to cfg80211 */
|
|
|
+static const struct ieee80211_txrx_stypes
|
|
|
+mwifiex_mgmt_stypes[NUM_NL80211_IFTYPES] = {
|
|
|
+ [NL80211_IFTYPE_STATION] = {
|
|
|
+ .tx = BIT(IEEE80211_STYPE_ACTION >> 4) |
|
|
|
+ BIT(IEEE80211_STYPE_PROBE_RESP >> 4),
|
|
|
+ .rx = BIT(IEEE80211_STYPE_ACTION >> 4) |
|
|
|
+ BIT(IEEE80211_STYPE_PROBE_REQ >> 4),
|
|
|
+ },
|
|
|
+ [NL80211_IFTYPE_AP] = {
|
|
|
+ .tx = BIT(IEEE80211_STYPE_ACTION >> 4) |
|
|
|
+ BIT(IEEE80211_STYPE_PROBE_RESP >> 4),
|
|
|
+ .rx = BIT(IEEE80211_STYPE_ACTION >> 4) |
|
|
|
+ BIT(IEEE80211_STYPE_PROBE_REQ >> 4),
|
|
|
+ },
|
|
|
+ [NL80211_IFTYPE_P2P_CLIENT] = {
|
|
|
+ .tx = BIT(IEEE80211_STYPE_ACTION >> 4) |
|
|
|
+ BIT(IEEE80211_STYPE_PROBE_RESP >> 4),
|
|
|
+ .rx = BIT(IEEE80211_STYPE_ACTION >> 4) |
|
|
|
+ BIT(IEEE80211_STYPE_PROBE_REQ >> 4),
|
|
|
+ },
|
|
|
+ [NL80211_IFTYPE_P2P_GO] = {
|
|
|
+ .tx = BIT(IEEE80211_STYPE_ACTION >> 4) |
|
|
|
+ BIT(IEEE80211_STYPE_PROBE_RESP >> 4),
|
|
|
+ .rx = BIT(IEEE80211_STYPE_ACTION >> 4) |
|
|
|
+ BIT(IEEE80211_STYPE_PROBE_REQ >> 4),
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
/*
|
|
|
* CFG802.11 operation handler for setting bit rates.
|
|
|
*
|
|
@@ -1935,6 +1964,7 @@ int mwifiex_register_cfg80211(struct mwifiex_adapter *adapter)
|
|
|
}
|
|
|
wiphy->max_scan_ssids = MWIFIEX_MAX_SSID_LIST_LENGTH;
|
|
|
wiphy->max_scan_ie_len = MWIFIEX_MAX_VSIE_LEN;
|
|
|
+ wiphy->mgmt_stypes = mwifiex_mgmt_stypes;
|
|
|
wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
|
|
|
BIT(NL80211_IFTYPE_ADHOC) |
|
|
|
BIT(NL80211_IFTYPE_AP);
|