P2P: Remove P2P groups on process termination
Killing the wpa_supplicant process or using TERMINATE ctrl_iface command resulted in the process existing without cleaning up possibly added dynamic P2P group interfaces. Clean this up by stopping each P2P group before stopping eloop. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
76fe79ef2d
commit
20625e9753
1 changed files with 5 additions and 0 deletions
|
@ -716,6 +716,11 @@ void wpa_supplicant_terminate_proc(struct wpa_global *global)
|
||||||
#ifdef CONFIG_WPS
|
#ifdef CONFIG_WPS
|
||||||
struct wpa_supplicant *wpa_s = global->ifaces;
|
struct wpa_supplicant *wpa_s = global->ifaces;
|
||||||
while (wpa_s) {
|
while (wpa_s) {
|
||||||
|
#ifdef CONFIG_P2P
|
||||||
|
if (wpa_s->p2p_group_interface != NOT_P2P_GROUP_INTERFACE ||
|
||||||
|
(wpa_s->current_ssid && wpa_s->current_ssid->p2p_group))
|
||||||
|
wpas_p2p_disconnect(wpa_s);
|
||||||
|
#endif /* CONFIG_P2P */
|
||||||
if (wpas_wps_terminate_pending(wpa_s) == 1)
|
if (wpas_wps_terminate_pending(wpa_s) == 1)
|
||||||
pending = 1;
|
pending = 1;
|
||||||
wpa_s = wpa_s->next;
|
wpa_s = wpa_s->next;
|
||||||
|
|
Loading…
Reference in a new issue