wpa_supplicant: Fix radio_remove_interface
Remove pending radio works when an interface is removed from a radio. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
This commit is contained in:
parent
2ce7e4fd74
commit
c46235aaf0
1 changed files with 3 additions and 5 deletions
|
@ -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_printf(MSG_DEBUG, "Remove interface %s from radio %s",
|
||||||
wpa_s->ifname, radio->name);
|
wpa_s->ifname, radio->name);
|
||||||
dl_list_del(&wpa_s->radio_list);
|
dl_list_del(&wpa_s->radio_list);
|
||||||
if (!dl_list_empty(&radio->ifaces)) {
|
radio_remove_works(wpa_s, NULL, 0);
|
||||||
wpa_s->radio = NULL;
|
wpa_s->radio = NULL;
|
||||||
|
if (!dl_list_empty(&radio->ifaces))
|
||||||
return; /* Interfaces remain for this radio */
|
return; /* Interfaces remain for this radio */
|
||||||
}
|
|
||||||
|
|
||||||
wpa_printf(MSG_DEBUG, "Remove radio %s", radio->name);
|
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);
|
eloop_cancel_timeout(radio_start_next_work, radio, NULL);
|
||||||
wpa_s->radio = NULL;
|
|
||||||
os_free(radio);
|
os_free(radio);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue