aboutsummaryrefslogtreecommitdiffstats
path: root/src/drivers
diff options
context:
space:
mode:
authorYogesh Ashok Powar <yogeshp@marvell.com>2012-01-29 12:33:05 +0200
committerJouni Malinen <j@w1.fi>2012-01-29 12:34:38 +0200
commit3dd1d8906df9defcb84505cbc6cf0b8afa4d1eca (patch)
treea9ea285d4a850eb361c4794cdc318093f0e138f1 /src/drivers
parenta7a6af4cbab1e1667ecf15e5aedb00f330a63839 (diff)
downloadexternal_wpa_supplicant_8_ti-3dd1d8906df9defcb84505cbc6cf0b8afa4d1eca.zip
external_wpa_supplicant_8_ti-3dd1d8906df9defcb84505cbc6cf0b8afa4d1eca.tar.gz
external_wpa_supplicant_8_ti-3dd1d8906df9defcb84505cbc6cf0b8afa4d1eca.tar.bz2
nl80211: Subscribe management frames for WPA_IF_AP_BSS types
In multiple BSSes scenario for the drivers that do not use monitor interface and do not implement AP SME, RX MGMT frame subscription happens only for the default bss (first_bss). Subscribe for RX MGMT frames for such BSSes. Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/driver_nl80211.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index c9d9d52..0bf1dca 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -7813,6 +7813,10 @@ static int wpa_driver_nl80211_if_add(void *priv, enum wpa_driver_if_type type,
if (drv_priv)
*drv_priv = new_bss;
nl80211_init_bss(new_bss);
+
+ /* Subscribe management frames for this WPA_IF_AP_BSS */
+ if (nl80211_setup_ap(new_bss))
+ return -1;
}
#endif /* HOSTAPD */
@@ -7864,6 +7868,8 @@ static int wpa_driver_nl80211_if_remove(void *priv,
for (tbss = &drv->first_bss; tbss; tbss = tbss->next) {
if (tbss->next == bss) {
tbss->next = bss->next;
+ /* Unsubscribe management frames */
+ nl80211_teardown_ap(bss);
nl80211_destroy_bss(bss);
os_free(bss);
bss = NULL;