From eb78a8d5e3ff9940d316f8684296e958f3bc9194 Mon Sep 17 00:00:00 2001 From: Daichi Ueura Date: Wed, 5 Nov 2014 20:35:08 +0900 Subject: [PATCH] P2P: Restore P2P_SCAN_SPECIFIC This reverts commit 3df2f4fe99e18f7fb449477a63d13abb3ad4c891 ('P2P: Remove unused P2P_SCAN_SPECIFIC') with a modification to fit the current code base. Signed-off-by: Daichi Ueura --- src/p2p/p2p.h | 4 +++- wpa_supplicant/p2p_supplicant.c | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/p2p/p2p.h b/src/p2p/p2p.h index b1c89d71b..9edbfb927 100644 --- a/src/p2p/p2p.h +++ b/src/p2p/p2p.h @@ -245,6 +245,7 @@ struct p2p_data; enum p2p_scan_type { P2P_SCAN_SOCIAL, P2P_SCAN_FULL, + P2P_SCAN_SPECIFIC, P2P_SCAN_SOCIAL_PLUS_ONE }; @@ -545,7 +546,8 @@ struct p2p_config { * operation to be completed. Type type argument specifies which type * of scan is to be done. @P2P_SCAN_SOCIAL indicates that only the * social channels (1, 6, 11) should be scanned. @P2P_SCAN_FULL - * indicates that all channels are to be scanned. + * indicates that all channels are to be scanned. @P2P_SCAN_SPECIFIC + * request a scan of a single channel specified by freq. * @P2P_SCAN_SOCIAL_PLUS_ONE request scan of all the social channels * plus one extra channel specified by freq. * diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index 5e6646ed0..097b623b9 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -377,6 +377,13 @@ static int wpas_p2p_scan(void *ctx, enum p2p_scan_type type, int freq, break; case P2P_SCAN_FULL: break; + case P2P_SCAN_SPECIFIC: + params->freqs = os_calloc(2, sizeof(int)); + if (params->freqs == NULL) + goto fail; + params->freqs[0] = freq; + params->freqs[1] = 0; + break; case P2P_SCAN_SOCIAL_PLUS_ONE: params->freqs = os_calloc(ARRAY_SIZE(social_channels_freq) + 2, sizeof(int));