From: Yogesh Ashok Powar Date: Sun, 29 Jan 2012 10:33:05 +0000 (+0200) Subject: nl80211: Subscribe management frames for WPA_IF_AP_BSS types X-Git-Tag: aosp-jb-start~49 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3dd1d8906df9defcb84505cbc6cf0b8afa4d1eca;p=thirdparty%2Fhostap.git 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 --- 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;