|
@@ -1758,6 +1758,28 @@ static void ath6kl_mgmt_frame_register(struct wiphy *wiphy,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+static const struct ieee80211_txrx_stypes
|
|
|
+ath6kl_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_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)
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static struct cfg80211_ops ath6kl_cfg80211_ops = {
|
|
|
.change_virtual_intf = ath6kl_cfg80211_change_iface,
|
|
|
.scan = ath6kl_cfg80211_scan,
|
|
@@ -1810,6 +1832,8 @@ struct wireless_dev *ath6kl_cfg80211_init(struct device *dev)
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
+ wdev->wiphy->mgmt_stypes = ath6kl_mgmt_stypes;
|
|
|
+
|
|
|
wdev->wiphy->max_remain_on_channel_duration = 5000;
|
|
|
|
|
|
/* set device pointer for wiphy */
|