mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
Revert "wifi: mac80211: fix RCU list iterations"
This reverts commit f373196093
which is
commit ac35180032fbc5d80b29af00ba4881815ceefcb6 upstream.
It should not have been backported here due to lack of other rcu
changes in the stable branches.
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6e62dab357
commit
bb9982d777
4 changed files with 4 additions and 8 deletions
|
@ -245,9 +245,7 @@ ieee80211_get_max_required_bw(struct ieee80211_sub_if_data *sdata,
|
|||
enum nl80211_chan_width max_bw = NL80211_CHAN_WIDTH_20_NOHT;
|
||||
struct sta_info *sta;
|
||||
|
||||
lockdep_assert_wiphy(sdata->local->hw.wiphy);
|
||||
|
||||
list_for_each_entry(sta, &sdata->local->sta_list, list) {
|
||||
list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) {
|
||||
if (sdata != sta->sdata &&
|
||||
!(sta->sdata->bss && sta->sdata->bss == sdata->bss))
|
||||
continue;
|
||||
|
|
|
@ -732,7 +732,7 @@ static bool ieee80211_add_vht_ie(struct ieee80211_sub_if_data *sdata,
|
|||
bool disable_mu_mimo = false;
|
||||
struct ieee80211_sub_if_data *other;
|
||||
|
||||
list_for_each_entry(other, &local->interfaces, list) {
|
||||
list_for_each_entry_rcu(other, &local->interfaces, list) {
|
||||
if (other->vif.bss_conf.mu_mimo_owner) {
|
||||
disable_mu_mimo = true;
|
||||
break;
|
||||
|
|
|
@ -490,7 +490,7 @@ static void __ieee80211_scan_completed(struct ieee80211_hw *hw, bool aborted)
|
|||
* the scan was in progress; if there was none this will
|
||||
* just be a no-op for the particular interface.
|
||||
*/
|
||||
list_for_each_entry(sdata, &local->interfaces, list) {
|
||||
list_for_each_entry_rcu(sdata, &local->interfaces, list) {
|
||||
if (ieee80211_sdata_running(sdata))
|
||||
wiphy_work_queue(sdata->local->hw.wiphy, &sdata->work);
|
||||
}
|
||||
|
|
|
@ -745,9 +745,7 @@ static void __iterate_interfaces(struct ieee80211_local *local,
|
|||
struct ieee80211_sub_if_data *sdata;
|
||||
bool active_only = iter_flags & IEEE80211_IFACE_ITER_ACTIVE;
|
||||
|
||||
list_for_each_entry_rcu(sdata, &local->interfaces, list,
|
||||
lockdep_is_held(&local->iflist_mtx) ||
|
||||
lockdep_is_held(&local->hw.wiphy->mtx)) {
|
||||
list_for_each_entry_rcu(sdata, &local->interfaces, list) {
|
||||
switch (sdata->vif.type) {
|
||||
case NL80211_IFTYPE_MONITOR:
|
||||
if (!(sdata->u.mntr.flags & MONITOR_FLAG_ACTIVE))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue