AP: Consider U-APSD driver support
Check whether the driver advertises support for U-APSD in AP mode, and evaluate wmm_uapsd only in this case. Signed-off-by: Eliad Peller <eliad@wizery.com>
This commit is contained in:
parent
a97bde0af4
commit
70619a5d8a
3 changed files with 7 additions and 1 deletions
|
@ -72,7 +72,8 @@ u8 * hostapd_eid_wmm(struct hostapd_data *hapd, u8 *eid)
|
|||
wmm->version = WMM_VERSION;
|
||||
wmm->qos_info = hapd->parameter_set_count & 0xf;
|
||||
|
||||
if (hapd->conf->wmm_uapsd)
|
||||
if (hapd->conf->wmm_uapsd &&
|
||||
(hapd->iface->drv_flags & WPA_DRIVER_FLAGS_AP_UAPSD))
|
||||
wmm->qos_info |= 0x80;
|
||||
|
||||
wmm->reserved = 0;
|
||||
|
|
|
@ -774,6 +774,8 @@ struct wpa_driver_capa {
|
|||
#define WPA_DRIVER_FLAGS_TDLS_EXTERNAL_SETUP 0x00100000
|
||||
/* Driver indicates support for Probe Response offloading in AP mode */
|
||||
#define WPA_DRIVER_FLAGS_PROBE_RESP_OFFLOAD 0x00200000
|
||||
/* Driver supports U-APSD in AP mode */
|
||||
#define WPA_DRIVER_FLAGS_AP_UAPSD 0x00400000
|
||||
unsigned int flags;
|
||||
|
||||
int max_scan_ssids;
|
||||
|
|
|
@ -2434,6 +2434,9 @@ broken_combination:
|
|||
/* default to 5000 since early versions of mac80211 don't set it */
|
||||
capa->max_remain_on_chan = 5000;
|
||||
|
||||
if (tb[NL80211_ATTR_SUPPORT_AP_UAPSD])
|
||||
capa->flags |= WPA_DRIVER_FLAGS_AP_UAPSD;
|
||||
|
||||
if (tb[NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION])
|
||||
capa->max_remain_on_chan =
|
||||
nla_get_u32(tb[NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION]);
|
||||
|
|
Loading…
Reference in a new issue