wifi: mac80211: don't enter idle during link switch
authorJohannes Berg <johannes.berg@intel.com>
Wed, 20 Mar 2024 07:13:59 +0000 (09:13 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 25 Mar 2024 14:39:28 +0000 (15:39 +0100)
commit3c9ff1a1e1d5e58f0610d408e07e372f5cf15740
treefe7c3e6325a59c46c68415653e4d3323c6019a21
parent62bdd97598f8be82a24f556f78336b05d1c3e84b
wifi: mac80211: don't enter idle during link switch

When doing link switch with a disjoint set of links before
and after the switch, we end up removing all channel contexts,
adding new ones later. This looks like 'idle' to the code now,
and we enter idle which also includes flushing queues. But we
can't actually flush since we don't have a link active (bound
to a channel context), and entering idle just to leave it again
is also wrong.

Fix this by passing through an indication that we shouldn't do
any idle checks in this case.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240320091155.170328bac555.If4a522a9dd3133b91983854b909a4de13aa635da@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/chan.c
net/mac80211/ieee80211_i.h
net/mac80211/link.c