Browse Source

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>
Ilan Peer 11 years ago
parent
commit
d99ca89d98
1 changed files with 5 additions and 1 deletions
  1. 5 1
      wpa_supplicant/p2p_supplicant.c

+ 5 - 1
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;
 	}