On Mon, Sep 05, 2016 at 05:33:05PM +0300, andrei.otcheretianski@xxxxxxxxx wrote: > When receiving signal change notification check if the reported > signal is above or below the signal threshold. > Although the event data includes this information, the threshold > configured to the driver might have changed. What would have changed the threshold in the driver? If there is some other components changing this, I don't see how exactly the bgscan mechanism in wpa_supplicant is going to be compatible with such changes. > diff --git a/wpa_supplicant/bgscan_simple.c b/wpa_supplicant/bgscan_simple.c > @@ -213,6 +213,14 @@ static void bgscan_simple_notify_signal_change(void *priv, int above, > + if ((current_signal > data->signal_threshold && !above) || > + (current_signal < data->signal_threshold && above)) { > + wpa_printf(MSG_DEBUG, > + "bgscan simple: incorrect above value: above=%d current_signal=%d threshold=%d", > + above, current_signal, data->signal_threshold); > + above = current_signal > data->signal_threshold; > + } So this would be specific to bgscan_simple.c. What about other bgscan implementations? Wouldn't bgscan_learn.c has the exact same issue? bgscan_notify_signal_change() in bgscan.c could be a better place to do this. Or maybe even better would be to "hide" this within src/drivers/driver_nl80211{,_event}.c since this sounds like a driver interface specific unexpected behavior to me and not something that a bgscam module should need to be aware of. -- Jouni Malinen PGP id EFC895FA _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap