[PATCH] P2P: Use neg_freq when re-establish persistent group as GC

Mikael Kanstrup mikael.kanstrup at gmail.com
Wed Oct 22 06:01:54 EDT 2014


When GC receives invitation response and tries to re-establish
connection to a persistent group channels from passive list should
be allowed. A missing check for operation mode triggered reselection
of operating channel from active channels only to happen and thus fail
the connect attempt.

Add a check for operation mode and if GC instead use negotiated
frequency (i.e. GO operating channel from invitation response).

Signed-off-by: Mikael Kanstrup <mikael.kanstrup at sonymobile.com>
---
 wpa_supplicant/p2p_supplicant.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
index d0e9e05..36d3bac 100644
--- a/wpa_supplicant/p2p_supplicant.c
+++ b/wpa_supplicant/p2p_supplicant.c
@@ -5487,13 +5487,21 @@ int wpas_p2p_group_add_persistent(struct
wpa_supplicant *wpa_s,

        wpa_s->p2p_fallback_to_go_neg = 0;

-       if (force_freq > 0) {
-               freq = wpas_p2p_select_go_freq(wpa_s, force_freq);
-               if (freq < 0)
-                       return -1;
+       if (ssid->mode == WPAS_MODE_P2P_GO) {
+               if (force_freq > 0) {
+                       freq = wpas_p2p_select_go_freq(wpa_s, force_freq);
+                       if (freq < 0)
+                               return -1;
+               } else {
+                       freq = wpas_p2p_select_go_freq(wpa_s, neg_freq);
+                       if (freq < 0 ||
+                           (freq > 0 && !freq_included(channels, freq)))
+                               freq = 0;
+               }
        } else {
-               freq = wpas_p2p_select_go_freq(wpa_s, neg_freq);
-               if (freq < 0 || (freq > 0 && !freq_included(channels, freq)))
+               freq = neg_freq;
+               if (freq < 0 ||
+                   (freq > 0 && !freq_included(channels, freq)))
                        freq = 0;
        }

-- 
1.8.2.2
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-P2P-Use-neg_freq-when-re-establish-persistent-group-.patch
Type: text/x-patch
Size: 1829 bytes
Desc: not available
URL: <http://lists.shmoo.com/pipermail/hostap/attachments/20141022/cb309735/attachment-0001.bin>


More information about the HostAP mailing list