On Thu, May 31, 2012 at 3:17 PM, Arend van Spriel <arend@xxxxxxxxxxxx> wrote: > This documentation is provided for the driver. mac80211 already allows > this callback to sleep. So rephrase 'must be allowed to sleep' to 'is > allowed to sleep' or 'can sleep'. > I will change it, thanks. >> @@ -517,7 +520,7 @@ static void ieee80211_get_et_stats(struct wiphy *wiphy, >> * network device. >> */ >> >> - rcu_read_lock(); >> + mutex_lock(&local->sta_mtx); >> >> if (sdata->vif.type == NL80211_IFTYPE_STATION) { >> sta = sta_info_get_bss(sdata, sdata->u.mgd.bssid); >> @@ -546,7 +549,7 @@ static void ieee80211_get_et_stats(struct wiphy *wiphy, >> data[i] = (u8)sinfo.signal_avg; >> i++; >> } else { >> - list_for_each_entry_rcu(sta, &local->sta_list, list) { >> + list_for_each_entry(sta, &local->sta_list, list) { >> /* Make sure this station belongs to the proper dev */ >> if (sta->sdata->dev != dev) >> continue; > > Just for my curiosity/learning: How are these related to the new > callback? Is it because you are now doing the callback in sta_set_sinfo()? > Yes, since sta_set_sinfo now might sleep we must replace rcu locks around it with sta_mtx. Thanks for the review, Victor. -- 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