> +++ b/net/mac80211/cfg.c
> @@ -3889,6 +3889,110 @@ static int ieee80211_get_txq_stats(struct wiphy
> *wiphy,
> return drv_abort_pmsr(local, sdata, request);
> }
>
> +void sta_mon_rssi_config_free(struct sta_info *sta)
> +{
> + if (sta->rssi_config) {
> + kfree_rcu(sta->rssi_config, rcu_head);
> + sta->rssi_config = NULL;
> + }
> +}
This looks wrong, you should use RCU_INIT_POINTER()?
And you should do it the other way around I think? I.e.
old = sta->rssi_config;
RCU_INIT_POINTER(sta->rssi_config, NULL);
kfree_rcu(old, rcu_head);
> /*
> * The bandwidth threshold below which the per-station CoDel parameters will
> be
> * scaled to be more lenient (to prevent starvation of slow stations). This
> @@ -623,6 +650,7 @@ struct sta_info {
>
> struct cfg80211_chan_def tdls_chandef;
>
> + struct sta_mon_rssi_config *rssi_config;
Please add documentation (as built bot pointed out shortly after patch
posting!)
johannes