wifi: mac80211: fix SMPS status handling
authorJohannes Berg <johannes.berg@intel.com>
Mon, 28 Aug 2023 13:09:26 +0000 (15:09 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 11 Sep 2023 09:27:18 +0000 (11:27 +0200)
commite3640a82e573f008e5c2058a7971873fa1d438c5
treeee96e1a632b6ae7b96d8057e02ddbea22c5530b2
parente665ab9c5aab79e1c576a220013419ef215c3b6a
wifi: mac80211: fix SMPS status handling

The current SMPS status handling isn't per link, so we only
ever change the deflink, which is obviously wrong, it's not
even used for multi-link connections, but the request API
actually includes the link ID.

Use the new status_data changes to move the handling to the
right link, this also saves parsing the frame again on the
status report, instead we can now check only if it was an
SMPS frame.

Of course, move the worker to be a wiphy work so that we're
able to cancel it safely for the link.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/ht.c
net/mac80211/ieee80211_i.h
net/mac80211/iface.c
net/mac80211/mlme.c
net/mac80211/status.c