]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
nl80211: Subscribe management frames for WPA_IF_AP_BSS types
authorYogesh Ashok Powar <yogeshp@marvell.com>
Sun, 29 Jan 2012 10:33:05 +0000 (12:33 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 29 Jan 2012 10:34:38 +0000 (12:34 +0200)
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>
src/drivers/driver_nl80211.c

index c9d9d529d4f176b881aa238e5009d7db770643ac..0bf1dca8bc45158f624f6283ed0a0eb962d3b7e9 100644 (file)
@@ -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;