diff options
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index f34cc66d3f4b..1327d424bf31 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
@@ -1768,6 +1768,17 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx) | |||
1768 | 1768 | ||
1769 | switch (mgmt->u.action.category) { | 1769 | switch (mgmt->u.action.category) { |
1770 | case WLAN_CATEGORY_BACK: | 1770 | case WLAN_CATEGORY_BACK: |
1771 | /* | ||
1772 | * The aggregation code is not prepared to handle | ||
1773 | * anything but STA/AP due to the BSSID handling; | ||
1774 | * IBSS could work in the code but isn't supported | ||
1775 | * by drivers or the standard. | ||
1776 | */ | ||
1777 | if (sdata->vif.type != NL80211_IFTYPE_STATION && | ||
1778 | sdata->vif.type != NL80211_IFTYPE_AP_VLAN && | ||
1779 | sdata->vif.type != NL80211_IFTYPE_AP) | ||
1780 | return RX_DROP_MONITOR; | ||
1781 | |||
1771 | switch (mgmt->u.action.u.addba_req.action_code) { | 1782 | switch (mgmt->u.action.u.addba_req.action_code) { |
1772 | case WLAN_ACTION_ADDBA_REQ: | 1783 | case WLAN_ACTION_ADDBA_REQ: |
1773 | if (len < (IEEE80211_MIN_ACTION_SIZE + | 1784 | if (len < (IEEE80211_MIN_ACTION_SIZE + |