From 873d0fcfd3371f471d88a247e5fdb2656d132514 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Fri, 6 Apr 2012 18:58:44 +0300 Subject: [PATCH] nl80211: Skip set_mode event subscription during deinit There is no need to subscribe to event messages during deinit process, so skip this to avoid unnecessary operations and to keep the debug logs a bit cleaner. Signed-hostap: Jouni Malinen --- src/drivers/driver_nl80211.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index f369c956b..1ceca542b 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -189,6 +189,7 @@ struct i802_bss { unsigned int beacon_set:1; unsigned int added_if_into_bridge:1; unsigned int added_bridge:1; + unsigned int in_deinit:1; u8 addr[ETH_ALEN]; @@ -3331,6 +3332,7 @@ static void wpa_driver_nl80211_deinit(void *priv) struct i802_bss *bss = priv; struct wpa_driver_nl80211_data *drv = bss->drv; + bss->in_deinit = 1; if (drv->data_tx_status) eloop_unregister_read_sock(drv->eapol_tx_sock); if (drv->eapol_tx_sock >= 0) @@ -7008,7 +7010,7 @@ done: nl80211_mgmt_unsubscribe(bss, "mode change"); } - if (!is_ap_interface(nlmode) && + if (!bss->in_deinit && !is_ap_interface(nlmode) && nl80211_mgmt_subscribe_non_ap(bss) < 0) wpa_printf(MSG_DEBUG, "nl80211: Failed to register Action " "frame processing - ignore for now");