P2P: Do not fail p2p_group_remove just based on current_ssid
The wpa_s->current_ssid pointer may get cleared, e.g., when
disconnected. Commit 30ee769235
made
wpas_p2p_group_delete() exit early before removing a P2P interface in
this type of case. That can cause number of issues from p2p_group_remove
command failing to busy loop when terminating wpa_supplicant if there is
a P2P group interface in client mode and that interface happens to be in
disconnected state. Fix these issues by allowing wpas_p2p_group_delete()
remove the P2P group interface regardless of whether wpa_s->currnt_ssid
is set.
Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
4d32c0c44d
commit
6f1ca696c7
1 changed files with 3 additions and 1 deletions
|
@ -262,7 +262,9 @@ static int wpas_p2p_group_delete(struct wpa_supplicant *wpa_s,
|
||||||
break;
|
break;
|
||||||
ssid = ssid->next;
|
ssid = ssid->next;
|
||||||
}
|
}
|
||||||
if (ssid == NULL) {
|
if (ssid == NULL &&
|
||||||
|
wpa_s->p2p_group_interface == NOT_P2P_GROUP_INTERFACE)
|
||||||
|
{
|
||||||
wpa_printf(MSG_ERROR, "P2P: P2P group interface "
|
wpa_printf(MSG_ERROR, "P2P: P2P group interface "
|
||||||
"not found");
|
"not found");
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Reference in a new issue