From 3dd1d8906df9defcb84505cbc6cf0b8afa4d1eca Mon Sep 17 00:00:00 2001 From: Yogesh Ashok Powar Date: Sun, 29 Jan 2012 12:33:05 +0200 Subject: [PATCH] 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 --- src/drivers/driver_nl80211.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index c9d9d529d..0bf1dca8b 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;