diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-07-25 10:20:23 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-08-26 05:12:44 -0400 |
commit | 3918edb0e6a8b16c2866f4657d9fed41f9da562d (patch) | |
tree | 1754c9b32a2cf028b569a434e76dcf4c3ad6421f | |
parent | 0e67c13667a72093aa3ef3cb54dd521e34e500fc (diff) |
mac80211: fix smps mode check for AP_VLAN
In ieee80211_sta_ps_deliver_wakeup, sdata->smps_mode is checked. This is
initialized only for the base AP interface, not the individual VLANs.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r-- | net/mac80211/sta_info.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c index c6ee2139fbc5..441875f03750 100644 --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c | |||
@@ -1094,8 +1094,11 @@ void ieee80211_sta_ps_deliver_wakeup(struct sta_info *sta) | |||
1094 | unsigned long flags; | 1094 | unsigned long flags; |
1095 | struct ps_data *ps; | 1095 | struct ps_data *ps; |
1096 | 1096 | ||
1097 | if (sdata->vif.type == NL80211_IFTYPE_AP || | 1097 | if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) |
1098 | sdata->vif.type == NL80211_IFTYPE_AP_VLAN) | 1098 | sdata = container_of(sdata->bss, struct ieee80211_sub_if_data, |
1099 | u.ap); | ||
1100 | |||
1101 | if (sdata->vif.type == NL80211_IFTYPE_AP) | ||
1099 | ps = &sdata->bss->ps; | 1102 | ps = &sdata->bss->ps; |
1100 | else if (ieee80211_vif_is_mesh(&sdata->vif)) | 1103 | else if (ieee80211_vif_is_mesh(&sdata->vif)) |
1101 | ps = &sdata->u.mesh.ps; | 1104 | ps = &sdata->u.mesh.ps; |