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 <ilan.peer@intel.com>
This commit is contained in:
Ilan Peer 2013-08-25 11:17:14 +03:00 committed by Jouni Malinen
parent 239abaf2ab
commit d99ca89d98

View file

@ -4133,7 +4133,11 @@ int wpas_p2p_group_remove(struct wpa_supplicant *wpa_s, const char *ifname)
while (wpa_s) { while (wpa_s) {
prev = wpa_s; prev = wpa_s;
wpa_s = wpa_s->next; 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; return 0;
} }