wifi: mac80211: isolate driver from inactive links
authorJohannes Berg <johannes.berg@intel.com>
Fri, 2 Sep 2022 14:12:42 +0000 (16:12 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 6 Sep 2022 08:12:44 +0000 (10:12 +0200)
commitefe9c2bfd1a82894e455514a68dc794556fbd463
tree68451a2e8a2ea58f4f1266ffb579ee696a0eae7a
parent261ce8879578f42bc1ff3385ff1be8e31d6fb160
wifi: mac80211: isolate driver from inactive links

In order to let the driver select active links and properly
make multi-link connections, as a first step isolate the
driver from inactive links, and set the active links to be
only the association link for client-side interfaces. For
AP side nothing changes since APs always have to have all
their links active.

To simplify things, update the for_each_sta_active_link()
API to include the appropriate vif pointer.

This also implies not allocating a chanctx for an inactive
link, which requires a few more changes.

Since we now no longer try to program multiple links to the
driver, remove the check in the MLME code.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/mac80211.h
net/mac80211/chan.c
net/mac80211/driver-ops.c
net/mac80211/driver-ops.h
net/mac80211/key.c
net/mac80211/link.c
net/mac80211/mlme.c
net/mac80211/util.c