aboutsummaryrefslogtreecommitdiff
path: root/net/mac80211/mesh_plink.c
diff options
context:
space:
mode:
authorGravatar Johannes Berg <johannes.berg@intel.com> 2023-06-04 12:11:22 +0300
committerGravatar Johannes Berg <johannes.berg@intel.com> 2023-06-06 14:15:56 +0200
commit92747f17c431a75967b461bedbb36ff259acead1 (patch)
treea10fa3fc8b9b4ab956247a9758d7828a1d3a1630 /net/mac80211/mesh_plink.c
parentwifi: mac80211: move sta_info_move_state() up (diff)
downloadlinux-92747f17c431a75967b461bedbb36ff259acead1.tar.gz
linux-92747f17c431a75967b461bedbb36ff259acead1.tar.bz2
linux-92747f17c431a75967b461bedbb36ff259acead1.zip
wifi: mac80211: batch recalc during STA flush
When we flush stations, we first take them off the list and then destroy them one by one. If we do the different mode recalculations while destroying them, we cause the following scenario: - STA 1 has 80 MHz - min chanctx width is now 80 MHz - STA 2 has 80 MHz - empty STA list - destroy STA 2 - recalc min chanctx width -> results in 20 MHz as the STA list is already empty This is broken, since as far as the driver is concerned STA 1 still exists at this point, and this causes issues at least with iwlwifi. Fix - and also optimize - this by doing the recalc of min chanctx width (and also P2P PS) only after all the stations were removed. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Link: https://lore.kernel.org/r/20230604120651.48d262b6b42d.Ia15532657c17535c28ec0c5df263b65f0f80663c@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mesh_plink.c')
0 files changed, 0 insertions, 0 deletions