aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYogesh Ashok Powar <yogeshp@marvell.com>2012-01-29 10:33:05 (GMT)
committerJouni Malinen <j@w1.fi>2012-01-29 10:34:38 (GMT)
commit3dd1d8906df9defcb84505cbc6cf0b8afa4d1eca (patch)
treea9ea285d4a850eb361c4794cdc318093f0e138f1 /src
parenta7a6af4cbab1e1667ecf15e5aedb00f330a63839 (diff)
downloadhostap-3dd1d8906df9defcb84505cbc6cf0b8afa4d1eca.zip
hostap-3dd1d8906df9defcb84505cbc6cf0b8afa4d1eca.tar.gz
hostap-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')
-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;