|
@@ -720,6 +720,8 @@ static int nl80211_send_wiphy(struct sk_buff *msg, u32 pid, u32 seq, int flags,
|
|
|
NLA_PUT_FLAG(msg, NL80211_ATTR_SUPPORT_IBSS_RSN);
|
|
|
if (dev->wiphy.flags & WIPHY_FLAG_MESH_AUTH)
|
|
|
NLA_PUT_FLAG(msg, NL80211_ATTR_SUPPORT_MESH_AUTH);
|
|
|
+ if (dev->wiphy.flags & WIPHY_FLAG_AP_UAPSD)
|
|
|
+ NLA_PUT_FLAG(msg, NL80211_ATTR_SUPPORT_AP_UAPSD);
|
|
|
|
|
|
if (dev->wiphy.flags & WIPHY_FLAG_SUPPORTS_FW_ROAM)
|
|
|
NLA_PUT_FLAG(msg, NL80211_ATTR_ROAM_SUPPORT);
|
|
@@ -2601,7 +2603,8 @@ static int nl80211_new_station(struct sk_buff *skb, struct genl_info *info)
|
|
|
return -EINVAL;
|
|
|
|
|
|
/* parse WME attributes if sta is WME capable */
|
|
|
- if ((params.sta_flags_set & NL80211_STA_FLAG_WME) &&
|
|
|
+ if ((rdev->wiphy.flags & WIPHY_FLAG_AP_UAPSD) &&
|
|
|
+ (params.sta_flags_set & NL80211_STA_FLAG_WME) &&
|
|
|
info->attrs[NL80211_ATTR_STA_WME]) {
|
|
|
struct nlattr *tb[NL80211_STA_WME_MAX + 1];
|
|
|
struct nlattr *nla;
|