@@ -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);
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(-)