aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEyal Shapira <eyal@wizery.com>2012-11-05 04:35:14 +0200
committerEyal Shapira <eyal@wizery.com>2012-11-05 10:11:30 +0200
commitfb634d7768b87e1174d2a21f4c899da3706432e8 (patch)
tree72125a6f399369e13caa0853ababaf3cb7cc981c
parent98fe4079c23456c902525bb7d09a5df6e522c842 (diff)
downloadexternal_wpa_supplicant_8_ti-fb634d7768b87e1174d2a21f4c899da3706432e8.zip
external_wpa_supplicant_8_ti-fb634d7768b87e1174d2a21f4c899da3706432e8.tar.gz
external_wpa_supplicant_8_ti-fb634d7768b87e1174d2a21f4c899da3706432e8.tar.bz2
P2P: Fix duplicate handling of rx action frames (UPSTREAM)
When using a separate group iface both p2p device iface and the group iface are registered for action frames. This causes duplicate handling of rx action frames. One side effect of this is getting multiple responses for requests sent over action frames while GO/CLI are up like prov disc and dev disc. Fix this by discarding the duplicate p2p action frames received on the group iface. The code will handle all of these correctly when coming on the p2p dev iface as it looks at the DA when where relevant. Signed-off-by: Eyal Shapira <eyal@wizery.com>
-rw-r--r--wpa_supplicant/p2p_supplicant.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
index ae23632..d8d72da 100644
--- a/wpa_supplicant/p2p_supplicant.c
+++ b/wpa_supplicant/p2p_supplicant.c
@@ -4137,6 +4137,12 @@ void wpas_p2p_rx_action(struct wpa_supplicant *wpa_s, const u8 *da,
if (wpa_s->global->p2p == NULL)
return;
+ if (wpa_s->p2p_group_interface != NOT_P2P_GROUP_INTERFACE) {
+ wpa_printf(MSG_DEBUG, "Discard RX action event on P2P "
+ "GO/CLI iface. P2P Device interface will handle it");
+ return;
+ }
+
p2p_rx_action(wpa_s->global->p2p, da, sa, bssid, category, data, len,
freq);
}