From: Johannes Berg <johannes.berg@xxxxxxxxx> During link switching there might be a link that's marked active but has no chanctx assigned (so it's not active from our driver's POV), skip such links in power recalculation without any warning. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> --- drivers/net/wireless/intel/iwlwifi/mvm/power.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/power.c b/drivers/net/wireless/intel/iwlwifi/mvm/power.c index 2033d89dc9e5..ac1dae52556f 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/power.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/power.c @@ -286,7 +286,8 @@ static bool iwl_mvm_power_is_radar(struct ieee80211_vif *vif) rcu_read_lock(); for_each_vif_active_link(vif, link_conf, link_id) { chanctx_conf = rcu_dereference(link_conf->chanctx_conf); - if (WARN_ON(!chanctx_conf)) + /* this happens on link switching, just ignore inactive ones */ + if (!chanctx_conf) continue; radar_detect = !!(chanctx_conf->def.chan->flags & -- 2.38.1