From bc8397822bcb89139959b4f00931d88db32c6636 Mon Sep 17 00:00:00 2001 From: Nathan Williams Date: Sun, 20 Mar 2011 12:06:36 +0200 Subject: [PATCH] wpa_supplicant: Search BSS list from back to front This fixes an issue seen in our wifi testbed, where we frequently switch the SSID of the AP. wpa_supplicant's BSS list will have, for example both (from the previous test) and (from the current test) - note that the bssid is the same for both. The (old) D-Bus API for fetching scan responses from wpa_supplicant is fetch-by-bssid, so the caller (flimflam) incorrectly believes we're associated with . --- wpa_supplicant/bss.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wpa_supplicant/bss.c b/wpa_supplicant/bss.c index 580928433..145b716dc 100644 --- a/wpa_supplicant/bss.c +++ b/wpa_supplicant/bss.c @@ -492,7 +492,7 @@ struct wpa_bss * wpa_bss_get_bssid(struct wpa_supplicant *wpa_s, const u8 *bssid) { struct wpa_bss *bss; - dl_list_for_each(bss, &wpa_s->bss, struct wpa_bss, list) { + dl_list_for_each_reverse(bss, &wpa_s->bss, struct wpa_bss, list) { if (os_memcmp(bss->bssid, bssid, ETH_ALEN) == 0) return bss; }