wifi: mac80211: set link_sta in reorder timeout
authorJohannes Berg <johannes.berg@intel.com>
Tue, 6 Sep 2022 08:08:37 +0000 (10:08 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 6 Sep 2022 08:09:55 +0000 (10:09 +0200)
Now that we have a link_sta pointer in the rx struct
we also need to fill it in all the cases. It didn't
matter so much until now as we weren't using it, but
the code should really be able to assume that if the
rx.sta is set, so is rx.link_sta.

Fixes: ccdde7c74ffd ("wifi: mac80211: properly implement MLO key handling")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/rx.c

index 511c809e2c6b898365698c94bb044946ad0c4381..04f16eabb78f12b698778ac2b97d40158d5e6b8d 100644 (file)
@@ -4107,6 +4107,7 @@ void ieee80211_release_reorder_timeout(struct sta_info *sta, int tid)
        /* FIXME: statistics won't be right with this */
        link_id = sta->sta.valid_links ? ffs(sta->sta.valid_links) - 1 : 0;
        rx.link = rcu_dereference(sta->sdata->link[link_id]);
+       rx.link_sta = rcu_dereference(sta->link[link_id]);
 
        ieee80211_rx_handlers(&rx, &frames);
 }