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