3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-25 09:39:25 +01:00

station: reverse roam scan results for sorted known frequencies

The known frequency list is now a sorted list and the roam scan
results were not complying with this new requirement. The fix is
easy though since the iteration order of the scan results does
not matter (the roam candidates are inserted by rank). To fix
the known frequencies order we can simply reverse the scan results
list before iterating it.
This commit is contained in:
James Prestwood 2024-01-30 11:13:52 -08:00 committed by Denis Kenzior
parent 643503eeea
commit 1fe68aef0b

View File

@ -2636,6 +2636,12 @@ static bool station_roam_scan_notify(int err, struct l_queue *bss_list,
util_address_to_string(current_bss->addr), util_address_to_string(current_bss->addr),
util_ssid_to_utf8(current_bss->ssid_len, current_bss->ssid)); util_ssid_to_utf8(current_bss->ssid_len, current_bss->ssid));
/*
* Reverse now so the known frequency list gets updated in the correct
* order (via network_bss_update).
*/
l_queue_reverse(bss_list);
while ((bss = l_queue_pop_head(bss_list))) { while ((bss = l_queue_pop_head(bss_list))) {
double rank; double rank;
uint32_t kbps100 = DIV_ROUND_CLOSEST(bss->data_rate, 100000); uint32_t kbps100 = DIV_ROUND_CLOSEST(bss->data_rate, 100000);