When running a kernel with CONFIG_PROVE_RCU, the minstrel rate update code would complain about being called without the RCU read lock held. This is because mesh_sta_info_init() may or may not have been called under RCU read lock. Perform some bureaucratic critical section toggling to always call mesh_sta_info_init() under RCU, and silence this warning. Signed-off-by: Thomas Pedersen <thomas@xxxxxxxxxxx> --- net/mac80211/mesh_plink.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c index 09bebed..4058bd7 100644 --- a/net/mac80211/mesh_plink.c +++ b/net/mac80211/mesh_plink.c @@ -473,13 +473,15 @@ mesh_sta_info_get(struct ieee80211_sub_if_data *sdata, rcu_read_unlock(); /* can't run atomic */ sta = mesh_sta_info_alloc(sdata, addr, elems); - if (!sta) { - rcu_read_lock(); + + rcu_read_lock(); + if (!sta) return NULL; - } mesh_sta_info_init(sdata, sta, elems, true); + rcu_read_unlock(); + /* also might sleep */ if (sta_info_insert_rcu(sta)) return NULL; } -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html