From: Andrei Otcheretianski Date: Thu, 20 Mar 2014 07:24:11 +0000 (+0200) Subject: wpa_supplicant: Fix radio_remove_interface X-Git-Tag: hostap_2_2~507 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c46235aaf077141e4fa686da3f56f0511aed3669;p=thirdparty%2Fhostap.git wpa_supplicant: Fix radio_remove_interface Remove pending radio works when an interface is removed from a radio. Signed-off-by: Andrei Otcheretianski --- diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c index 171fc6058..690fd0672 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -3204,15 +3204,13 @@ static void radio_remove_interface(struct wpa_supplicant *wpa_s) wpa_printf(MSG_DEBUG, "Remove interface %s from radio %s", wpa_s->ifname, radio->name); dl_list_del(&wpa_s->radio_list); - if (!dl_list_empty(&radio->ifaces)) { - wpa_s->radio = NULL; + radio_remove_works(wpa_s, NULL, 0); + wpa_s->radio = NULL; + if (!dl_list_empty(&radio->ifaces)) return; /* Interfaces remain for this radio */ - } wpa_printf(MSG_DEBUG, "Remove radio %s", radio->name); - radio_remove_works(wpa_s, NULL, 0); eloop_cancel_timeout(radio_start_next_work, radio, NULL); - wpa_s->radio = NULL; os_free(radio); }