From: Jouni Malinen Date: Mon, 18 Nov 2013 16:13:15 +0000 (+0200) Subject: P2P: Clean up wpas_p2p_init_go_params() X-Git-Tag: hostap_2_1~522 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7d669cf7a140ced8959e03af1a54639ffb105db2;p=thirdparty%2Fhostap.git 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 --- 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; + 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 (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); - 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 + 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; }