diff mbox

[3/8] bgscan_learn: start scanning from the first freq

Message ID 1387447410-8101-3-git-send-email-arik@wizery.com
State Accepted
Headers show

Commit Message

Arik Nemtsov Dec. 19, 2013, 10:03 a.m. UTC
From: Eliad Peller <eliad@wizery.com>

bgscan_learn_get_probe_freq() starts from returning
the second entry in the supp_freqs arrays.

Change its logic a bit to make it start from the first
entry.

Signed-hostap: Eliad Peller <eliad@wizery.com>
---
 wpa_supplicant/bgscan_learn.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

Comments

Jouni Malinen Dec. 24, 2013, 7:49 a.m. UTC | #1
On Thu, Dec 19, 2013 at 12:03:25PM +0200, Arik Nemtsov wrote:
> bgscan_learn_get_probe_freq() starts from returning
> the second entry in the supp_freqs arrays.
> 
> Change its logic a bit to make it start from the first
> entry.

Thanks, applied.
diff mbox

Patch

diff --git a/wpa_supplicant/bgscan_learn.c b/wpa_supplicant/bgscan_learn.c
index 92ec55c..e87cf1d 100644
--- a/wpa_supplicant/bgscan_learn.c
+++ b/wpa_supplicant/bgscan_learn.c
@@ -240,17 +240,14 @@  static int * bgscan_learn_get_probe_freq(struct bgscan_learn_data *data,
 	if (data->supp_freqs == NULL)
 		return freqs;
 
-	idx = data->probe_idx + 1;
-	while (idx != data->probe_idx) {
-		if (data->supp_freqs[idx] == 0) {
-			if (data->probe_idx == 0)
-				break;
-			idx = 0;
-		}
+	idx = data->probe_idx;
+	do {
 		if (!in_array(freqs, data->supp_freqs[idx])) {
 			wpa_printf(MSG_DEBUG, "bgscan learn: Probe new freq "
 				   "%u", data->supp_freqs[idx]);
-			data->probe_idx = idx;
+			data->probe_idx = idx + 1;
+			if (data->supp_freqs[data->probe_idx] == 0)
+				data->probe_idx = 0;
 			n = os_realloc_array(freqs, count + 2, sizeof(int));
 			if (n == NULL)
 				return freqs;
@@ -262,7 +259,9 @@  static int * bgscan_learn_get_probe_freq(struct bgscan_learn_data *data,
 		}
 
 		idx++;
-	}
+		if (data->supp_freqs[idx] == 0)
+			idx = 0;
+	} while (idx != data->probe_idx);
 
 	return freqs;
 }