aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/agg-rx.c3
-rw-r--r--net/mac80211/agg-tx.c10
-rw-r--r--net/mac80211/ht.c3
-rw-r--r--net/mac80211/rx.c7
4 files changed, 8 insertions, 15 deletions
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c
index 97f33588b65f..f9ec0d97e349 100644
--- a/net/mac80211/agg-rx.c
+++ b/net/mac80211/agg-rx.c
@@ -176,7 +176,8 @@ static void ieee80211_send_addba_resp(struct ieee80211_sub_if_data *sdata, u8 *d
176 memcpy(mgmt->da, da, ETH_ALEN); 176 memcpy(mgmt->da, da, ETH_ALEN);
177 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); 177 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
178 if (sdata->vif.type == NL80211_IFTYPE_AP || 178 if (sdata->vif.type == NL80211_IFTYPE_AP ||
179 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) 179 sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
180 sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
180 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); 181 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
181 else if (sdata->vif.type == NL80211_IFTYPE_STATION) 182 else if (sdata->vif.type == NL80211_IFTYPE_STATION)
182 memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN); 183 memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c
index 2ac033989e01..fefc7e506754 100644
--- a/net/mac80211/agg-tx.c
+++ b/net/mac80211/agg-tx.c
@@ -77,7 +77,8 @@ static void ieee80211_send_addba_request(struct ieee80211_sub_if_data *sdata,
77 memcpy(mgmt->da, da, ETH_ALEN); 77 memcpy(mgmt->da, da, ETH_ALEN);
78 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); 78 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
79 if (sdata->vif.type == NL80211_IFTYPE_AP || 79 if (sdata->vif.type == NL80211_IFTYPE_AP ||
80 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) 80 sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
81 sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
81 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); 82 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
82 else if (sdata->vif.type == NL80211_IFTYPE_STATION) 83 else if (sdata->vif.type == NL80211_IFTYPE_STATION)
83 memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN); 84 memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
@@ -371,13 +372,8 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid,
371 pubsta->addr, tid); 372 pubsta->addr, tid);
372#endif /* CONFIG_MAC80211_HT_DEBUG */ 373#endif /* CONFIG_MAC80211_HT_DEBUG */
373 374
374 /*
375 * The aggregation code is not prepared to handle
376 * anything but STA/AP due to the BSSID handling.
377 * IBSS could work in the code but isn't supported
378 * by drivers or the standard.
379 */
380 if (sdata->vif.type != NL80211_IFTYPE_STATION && 375 if (sdata->vif.type != NL80211_IFTYPE_STATION &&
376 sdata->vif.type != NL80211_IFTYPE_MESH_POINT &&
381 sdata->vif.type != NL80211_IFTYPE_AP_VLAN && 377 sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
382 sdata->vif.type != NL80211_IFTYPE_AP) 378 sdata->vif.type != NL80211_IFTYPE_AP)
383 return -EINVAL; 379 return -EINVAL;
diff --git a/net/mac80211/ht.c b/net/mac80211/ht.c
index f80a35c0d000..988c7ec0898c 100644
--- a/net/mac80211/ht.c
+++ b/net/mac80211/ht.c
@@ -195,7 +195,8 @@ void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata,
195 memcpy(mgmt->da, da, ETH_ALEN); 195 memcpy(mgmt->da, da, ETH_ALEN);
196 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); 196 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
197 if (sdata->vif.type == NL80211_IFTYPE_AP || 197 if (sdata->vif.type == NL80211_IFTYPE_AP ||
198 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) 198 sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
199 sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
199 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); 200 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
200 else if (sdata->vif.type == NL80211_IFTYPE_STATION) 201 else if (sdata->vif.type == NL80211_IFTYPE_STATION)
201 memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN); 202 memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index c74e542a26b0..3173dcfc2136 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -2203,13 +2203,8 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
2203 2203
2204 switch (mgmt->u.action.category) { 2204 switch (mgmt->u.action.category) {
2205 case WLAN_CATEGORY_BACK: 2205 case WLAN_CATEGORY_BACK:
2206 /*
2207 * The aggregation code is not prepared to handle
2208 * anything but STA/AP due to the BSSID handling;
2209 * IBSS could work in the code but isn't supported
2210 * by drivers or the standard.
2211 */
2212 if (sdata->vif.type != NL80211_IFTYPE_STATION && 2206 if (sdata->vif.type != NL80211_IFTYPE_STATION &&
2207 sdata->vif.type != NL80211_IFTYPE_MESH_POINT &&
2213 sdata->vif.type != NL80211_IFTYPE_AP_VLAN && 2208 sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
2214 sdata->vif.type != NL80211_IFTYPE_AP) 2209 sdata->vif.type != NL80211_IFTYPE_AP)
2215 break; 2210 break;