diff mbox

[3/4] hostapd: Reset hapd->interface_add properly

Message ID 1401271032-7690-4-git-send-email-michal.kazior@tieto.com
State Accepted
Headers show

Commit Message

Michal Kazior May 28, 2014, 9:57 a.m. UTC
The 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 <michal.kazior@tieto.com>
---
 src/ap/hostapd.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
diff mbox

Patch

diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
index f5657d6..d6f937c 100644
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -277,10 +277,13 @@  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);