On Wed, 2018-02-14 at 13:51 +0000, Jean Pierre TOSONI wrote:
> When the low-level driver returns an invalid RSSI indication,
> set the signal value to 0 as an indication to the upper layer.
> 
> Also, skip average level computation if signal is invalid.

Thanks for the patch!

>       /* Track average RSSI from the Beacon frames of the current AP */
> +     if (rx_status->flag & RX_FLAG_NO_SIGNAL_VAL)
> +             goto skip_signal_processing;
>       if (ifmgd->flags & IEEE80211_STA_RESET_SIGNAL_AVE) {
>               ifmgd->flags &= ~IEEE80211_STA_RESET_SIGNAL_AVE;
>               ewma_beacon_signal_init(&ifmgd->ave_beacon_signal);
> @@ -3454,6 +3456,7 @@ static void ieee80211_rx_mgmt_beacon(struct 
> ieee80211_sub_if_data *sdata,
>                               sig, GFP_KERNEL);
>               }
>       }
> +skip_signal_processing:

Can't say I like this - how about we pull out the actual processing
into a helper function, and then abort that function early if the
NO_SIGNAL_VAL flag is set.

johannes

Reply via email to