diff options
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r-- | net/mac80211/iface.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 41497b670e2b..d37ae7dc114b 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c | |||
@@ -6,6 +6,7 @@ | |||
6 | * Copyright (c) 2006 Jiri Benc <jbenc@suse.cz> | 6 | * Copyright (c) 2006 Jiri Benc <jbenc@suse.cz> |
7 | * Copyright 2008, Johannes Berg <johannes@sipsolutions.net> | 7 | * Copyright 2008, Johannes Berg <johannes@sipsolutions.net> |
8 | * Copyright 2013-2014 Intel Mobile Communications GmbH | 8 | * Copyright 2013-2014 Intel Mobile Communications GmbH |
9 | * Copyright (c) 2016 Intel Deutschland GmbH | ||
9 | * | 10 | * |
10 | * This program is free software; you can redistribute it and/or modify | 11 | * This program is free software; you can redistribute it and/or modify |
11 | * it under the terms of the GNU General Public License version 2 as | 12 | * it under the terms of the GNU General Public License version 2 as |
@@ -1295,6 +1296,26 @@ static void ieee80211_iface_work(struct work_struct *work) | |||
1295 | } else if (ieee80211_is_action(mgmt->frame_control) && | 1296 | } else if (ieee80211_is_action(mgmt->frame_control) && |
1296 | mgmt->u.action.category == WLAN_CATEGORY_VHT) { | 1297 | mgmt->u.action.category == WLAN_CATEGORY_VHT) { |
1297 | switch (mgmt->u.action.u.vht_group_notif.action_code) { | 1298 | switch (mgmt->u.action.u.vht_group_notif.action_code) { |
1299 | case WLAN_VHT_ACTION_OPMODE_NOTIF: { | ||
1300 | struct ieee80211_rx_status *status; | ||
1301 | enum nl80211_band band; | ||
1302 | u8 opmode; | ||
1303 | |||
1304 | status = IEEE80211_SKB_RXCB(skb); | ||
1305 | band = status->band; | ||
1306 | opmode = mgmt->u.action.u.vht_opmode_notif.operating_mode; | ||
1307 | |||
1308 | mutex_lock(&local->sta_mtx); | ||
1309 | sta = sta_info_get_bss(sdata, mgmt->sa); | ||
1310 | |||
1311 | if (sta) | ||
1312 | ieee80211_vht_handle_opmode(sdata, sta, | ||
1313 | opmode, | ||
1314 | band); | ||
1315 | |||
1316 | mutex_unlock(&local->sta_mtx); | ||
1317 | break; | ||
1318 | } | ||
1298 | case WLAN_VHT_ACTION_GROUPID_MGMT: | 1319 | case WLAN_VHT_ACTION_GROUPID_MGMT: |
1299 | ieee80211_process_mu_groups(sdata, mgmt); | 1320 | ieee80211_process_mu_groups(sdata, mgmt); |
1300 | break; | 1321 | break; |