> +/*
> + * How many frames need to have been used in average station's
> + * signal strength before checking against the threshold
> + */
> +#define IEEE80211_STA_SIGNAL_AVE_MIN_COUNT 4
This seems OK - you want something to start up from?
However, I don't think we do that in "normal" CQM, and building
different behaviour here seems a bit odd.
> + if (sig < thold && last_event == 0) {
> + sta->last_cqm_event_signal = sig;
> + cfg80211_ap_sta_cqm_rssi_notify(
> + rx->sdata->dev, sta->addr,
> + NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW
> ,
> + sig, GFP_ATOMIC);
> + sta->count_rx_signal = 0;
In particular, resetting it all the time seems even stranger, since
then you can only react at a granularity of these 4 frames. EWMA
catches fluctuations already, so I don't think you should do it this
way.
johannes