From 81c4fca10047076fc939b8d480f8d499b9735a48 Mon Sep 17 00:00:00 2001 From: Michal Kazior Date: Wed, 28 May 2014 11:57:11 +0200 Subject: [PATCH] hostapd: Reset hapd->interface_add properly This variable is updated when calling hostapd_if_add(), so it makes sense to do the same thing when calling hostapd_if_remove(). Signed-off-by: Michal Kazior --- src/ap/hostapd.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c index 784da2a4a..768ba3afa 100644 --- a/src/ap/hostapd.c +++ b/src/ap/hostapd.c @@ -277,10 +277,14 @@ static void hostapd_free_hapd_data(struct hostapd_data *hapd) authsrv_deinit(hapd); - if (hapd->interface_added && - hostapd_if_remove(hapd, WPA_IF_AP_BSS, hapd->conf->iface)) { - wpa_printf(MSG_WARNING, "Failed to remove BSS interface %s", - hapd->conf->iface); + if (hapd->interface_added) { + hapd->interface_added = 0; + if (hostapd_if_remove(hapd, WPA_IF_AP_BSS, hapd->conf->iface)) { + wpa_printf(MSG_WARNING, + "Failed to remove BSS interface %s", + hapd->conf->iface); + hapd->interface_added = 1; + } } os_free(hapd->probereq_cb);