> +++ 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

Reply via email to