path: root/wpa_supplicant/bss.h
diff options
authorMatthieu Mauger <matthieux.mauger@intel.com>2015-02-18 02:35:15 (GMT)
committerJouni Malinen <j@w1.fi>2015-02-21 14:07:53 (GMT)
commit71d77adb6db42db3e59537a28ad366d179284a78 (patch)
tree440d2ee074bac638754213d628603e8f1e05c15b /wpa_supplicant/bss.h
parentf1609f119aebfef376c9f2b961bb121d566b40a4 (diff)
Update current BSS level when signal change event occurs
When an EVENT_SIGNAL_CHANGE occurs the bgscan is informed about this change but the new RSSI value is not stored. In consequence, when roaming candidates are evaluated, the RSSI value of the current BSS used to compare is an old one obtained during the last scan rather than the new one given by the signal change event. This leads sometimes to bad decision when selecting a new BSS for roaming. This patch solves the issue by updating the current BSS level when receiving a signal change event in order to have a very up-to-date current signal value when choosing an new BSS. Signed-off-by: Matthieu Mauger <matthieux.mauger@intel.com>
Diffstat (limited to 'wpa_supplicant/bss.h')
1 files changed, 6 insertions, 0 deletions
diff --git a/wpa_supplicant/bss.h b/wpa_supplicant/bss.h
index cc01b00..1a603f6 100644
--- a/wpa_supplicant/bss.h
+++ b/wpa_supplicant/bss.h
@@ -137,4 +137,10 @@ static inline int bss_is_dmg(const struct wpa_bss *bss)
return bss->freq > 45000;
+static inline void wpa_bss_update_level(struct wpa_bss *bss, int new_level)
+ if (bss != NULL && new_level < 0)
+ bss->level = new_level;
#endif /* BSS_H */