diff --git a/src/ap/ap_drv_ops.c b/src/ap/ap_drv_ops.c index 0b6836c11..71296440a 100644 --- a/src/ap/ap_drv_ops.c +++ b/src/ap/ap_drv_ops.c @@ -314,7 +314,8 @@ int hostapd_sta_add(struct hostapd_data *hapd, const u8 *addr, u16 aid, u16 capability, const u8 *supp_rates, size_t supp_rates_len, u16 listen_interval, - const struct ieee80211_ht_capabilities *ht_capab) + const struct ieee80211_ht_capabilities *ht_capab, + u32 flags) { struct hostapd_sta_add_params params; @@ -331,6 +332,7 @@ int hostapd_sta_add(struct hostapd_data *hapd, params.supp_rates_len = supp_rates_len; params.listen_interval = listen_interval; params.ht_capabilities = ht_capab; + params.flags = hostapd_sta_flags_to_drv(flags); return hapd->driver->sta_add(hapd->drv_priv, ¶ms); } diff --git a/src/ap/ap_drv_ops.h b/src/ap/ap_drv_ops.h index f6076afb7..6f947f95d 100644 --- a/src/ap/ap_drv_ops.h +++ b/src/ap/ap_drv_ops.h @@ -36,7 +36,8 @@ int hostapd_sta_add(struct hostapd_data *hapd, const u8 *addr, u16 aid, u16 capability, const u8 *supp_rates, size_t supp_rates_len, u16 listen_interval, - const struct ieee80211_ht_capabilities *ht_capab); + const struct ieee80211_ht_capabilities *ht_capab, + u32 flags); int hostapd_set_privacy(struct hostapd_data *hapd, int enabled); int hostapd_set_generic_elem(struct hostapd_data *hapd, const u8 *elem, size_t elem_len); diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c index 4d8dd2506..227a0a52f 100644 --- a/src/ap/ieee802_11.c +++ b/src/ap/ieee802_11.c @@ -1705,7 +1705,8 @@ static void handle_assoc_cb(struct hostapd_data *hapd, if (hostapd_sta_add(hapd, sta->addr, sta->aid, sta->capability, sta->supported_rates, sta->supported_rates_len, sta->listen_interval, - sta->flags & WLAN_STA_HT ? &ht_cap : NULL)) { + sta->flags & WLAN_STA_HT ? &ht_cap : NULL, + sta->flags)) { hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, HOSTAPD_LEVEL_NOTICE, "Could not add STA to kernel driver"); diff --git a/src/drivers/driver.h b/src/drivers/driver.h index 513580a19..1f9a4c867 100644 --- a/src/drivers/driver.h +++ b/src/drivers/driver.h @@ -602,6 +602,7 @@ struct hostapd_sta_add_params { size_t supp_rates_len; u16 listen_interval; const struct ieee80211_ht_capabilities *ht_capabilities; + u32 flags; /* bitmask of WPA_STA_* flags */ }; struct hostapd_freq_params {