From 7d669cf7a140ced8959e03af1a54639ffb105db2 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Mon, 18 Nov 2013 18:13:15 +0200 Subject: [PATCH] P2P: Clean up wpas_p2p_init_go_params() It is clearer if there is only a single loop of the channel list and shared debug prints. In addition, the note about current operating channels not being available is quite confusing if there are no operating group, so make that part of the message conditional. Signed-hostap: Jouni Malinen --- wpa_supplicant/p2p_supplicant.c | 57 ++++++++++++++------------------- 1 file changed, 24 insertions(+), 33 deletions(-) diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index 1ea5afc06..e8a37700f 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -4608,41 +4608,32 @@ static int wpas_p2p_init_go_params(struct wpa_supplicant *wpa_s, } num = res; - if (!freq) { - for (i = 0; i < num; i++) { - if (freq_included(channels, freqs[i])) { - wpa_printf(MSG_DEBUG, "P2P: Force GO on a channel we are already using (%u MHz)", - freqs[i]); - params->freq = freqs[i]; - break; - } - } - - if (i == num) { - if (wpas_p2p_num_unused_channels(wpa_s) <= 0) { - wpa_printf(MSG_DEBUG, "P2P: Cannot force GO on any of the channels we are already using"); - os_free(freqs); - return -1; - } else { - wpa_printf(MSG_DEBUG, "P2P: Cannot force GO on any of the channels we are already using. Use one of the free channels"); - } - } - } else { - for (i = 0; i < num; i++) { - if (freqs[i] == freq) - break; - } - - if (i == num) { - if (wpas_p2p_num_unused_channels(wpa_s) <= 0) { - wpa_printf(MSG_DEBUG, "P2P: Cannot force GO on freq (%u MHz) as all the channels are in use", freq); - os_free(freqs); - return -1; - } else { - wpa_printf(MSG_DEBUG, "P2P: Cannot force GO on any of the channels we are already using. Use one of the free channels"); - } + for (i = 0; i < num; i++) { + if (freq && freqs[i] == freq) + break; + if (!freq && freq_included(channels, freqs[i])) { + wpa_printf(MSG_DEBUG, "P2P: Force GO on a channel we are already using (%u MHz)", + freqs[i]); + params->freq = freqs[i]; + break; } } + + if (i == num) { + if (wpas_p2p_num_unused_channels(wpa_s) <= 0) { + if (freq) + wpa_printf(MSG_DEBUG, "P2P: Cannot force GO on freq (%u MHz) as all the channels are in use", freq); + else + wpa_printf(MSG_DEBUG, "P2P: Cannot force GO on any of the channels we are already using"); + os_free(freqs); + return -1; + } else if (num == 0) { + wpa_printf(MSG_DEBUG, "P2P: Use one of the free channels"); + } else { + wpa_printf(MSG_DEBUG, "P2P: Cannot force GO on any of the channels we are already using. Use one of the free channels"); + } + } + os_free(freqs); return 0; }