[PATCH 12/18] bgscan_simple: Verify if notified signal is above or below threshold
Jouni Malinen
j at w1.fi
Sat Oct 1 01:22:25 PDT 2016
On Mon, Sep 05, 2016 at 05:33:05PM +0300, andrei.otcheretianski at intel.com 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
More information about the Hostap
mailing list