bgscan_learn: Start scanning from the first freq

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>
This commit is contained in:
Eliad Peller 2013-12-19 12:03:25 +02:00 committed by Jouni Malinen
parent f4c73ae640
commit 3e06180fe0

View file

@ -240,17 +240,14 @@ static int * bgscan_learn_get_probe_freq(struct bgscan_learn_data *data,
if (data->supp_freqs == NULL) if (data->supp_freqs == NULL)
return freqs; return freqs;
idx = data->probe_idx + 1; idx = data->probe_idx;
while (idx != data->probe_idx) { do {
if (data->supp_freqs[idx] == 0) {
if (data->probe_idx == 0)
break;
idx = 0;
}
if (!in_array(freqs, data->supp_freqs[idx])) { if (!in_array(freqs, data->supp_freqs[idx])) {
wpa_printf(MSG_DEBUG, "bgscan learn: Probe new freq " wpa_printf(MSG_DEBUG, "bgscan learn: Probe new freq "
"%u", data->supp_freqs[idx]); "%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)); n = os_realloc_array(freqs, count + 2, sizeof(int));
if (n == NULL) if (n == NULL)
return freqs; return freqs;
@ -262,7 +259,9 @@ static int * bgscan_learn_get_probe_freq(struct bgscan_learn_data *data,
} }
idx++; idx++;
} if (data->supp_freqs[idx] == 0)
idx = 0;
} while (idx != data->probe_idx);
return freqs; return freqs;
} }