unsigned int puncturing:1;
unsigned int qca_ap_allowed_freqs:1;
unsigned int connect_ext_vendor_cmd_avail:1;
+ unsigned int support_ap_scan:1;
u8 extra_bss_membership_selectors[8];
unsigned int update_ft_ies_supported:1;
unsigned int has_key_mgmt:1;
unsigned int has_key_mgmt_iftype:1;
+ unsigned int support_ap_scan:1;
};
if (flags & NL80211_FEATURE_FULL_AP_CLIENT_STATE)
capa->flags |= WPA_DRIVER_FLAGS_FULL_AP_CLIENT_STATE;
+
+ if (flags & NL80211_FEATURE_AP_SCAN)
+ info->support_ap_scan = 1;
}
if (info.set_qos_map_supported)
drv->capa.flags |= WPA_DRIVER_FLAGS_QOS_MAPPING;
drv->have_low_prio_scan = info.have_low_prio_scan;
+ drv->support_ap_scan = info.support_ap_scan;
/*
* If the driver doesn't support data TX status, we won't get TX
if (!drv->hostapd && is_ap_interface(drv->nlmode)) {
wpa_printf(MSG_DEBUG, "nl80211: Add NL80211_SCAN_FLAG_AP");
scan_flags |= NL80211_SCAN_FLAG_AP;
+ } else if (drv->support_ap_scan && is_ap_interface(drv->nlmode) &&
+ !nl80211_get_link(bss, params->link_id)->beacon_set) {
+ wpa_printf(MSG_DEBUG,
+ "nl80211: Add NL80211_SCAN_FLAG_AP for scan for link %d that is not beaconing",
+ params->link_id);
+ scan_flags |= NL80211_SCAN_FLAG_AP;
}
if (params->only_new_results) {