From d99ca89d987e6bd28dbe37b4c6ff8b6168390627 Mon Sep 17 00:00:00 2001 From: Ilan Peer Date: Sun, 25 Aug 2013 11:17:14 +0300 Subject: [PATCH] P2P: Skip non-P2P interface in p2p_group_remove * When 'p2p_group_remove *' is called while the station interface is connected, the flow also disconnects the station interface. Fix this by skipping non-P2P interfaces in the iteration. Signed-hostap: Ilan Peer --- wpa_supplicant/p2p_supplicant.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index 55e6c0f5c..9429f3d0a 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -4133,7 +4133,11 @@ int wpas_p2p_group_remove(struct wpa_supplicant *wpa_s, const char *ifname) while (wpa_s) { prev = wpa_s; wpa_s = wpa_s->next; - wpas_p2p_disconnect(prev); + if (prev->p2p_group_interface != + NOT_P2P_GROUP_INTERFACE || + (prev->current_ssid && + prev->current_ssid->p2p_group)) + wpas_p2p_disconnect(prev); } return 0; }