Browse Source

Allow roam based on preferred BSSID regardless of signal strength

Jouni Malinen 15 years ago
parent
commit
ac26ebd8b5
1 changed files with 8 additions and 0 deletions
  1. 8 0
      wpa_supplicant/events.c

+ 8 - 0
wpa_supplicant/events.c

@@ -820,6 +820,14 @@ static int wpa_supplicant_need_to_roam(struct wpa_supplicant *wpa_s,
 	wpa_printf(MSG_DEBUG, "Selected BSS: " MACSTR " level=%d",
 		   MAC2STR(selected->bssid), selected->level);
 
+	if (wpa_s->current_ssid->bssid_set &&
+	    os_memcmp(selected->bssid, wpa_s->current_ssid->bssid, ETH_ALEN) ==
+	    0) {
+		wpa_printf(MSG_DEBUG, "Allow reassociation - selected BSS has "
+			   "preferred BSSID");
+		return 1;
+	}
+
 	min_diff = 2;
 	if (current_bss->level < 0) {
 		if (current_bss->level < -85)