diff options
author | Johannes Berg <johannes.berg@intel.com> | 2023-02-15 10:40:41 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2023-02-15 18:27:35 +0100 |
commit | ab5f171e36063b33aba1dd4c7c6d5031b00b42aa (patch) | |
tree | 60194cdef53f4482ad8f60e92602c999c95fddad /net/mac80211/rx.c | |
parent | 0d846bdc11101ac0ba4d89c2be359af08cb9379b (diff) |
wifi: mac80211: always initialize link_sta with sta
When we have multiple interfaces receiving the same frame,
such as a multicast frame, one interface might have a sta
and the other not. In this case, link_sta would be set but
not cleared again.
Always set link_sta, so we keep an invariant that link_sta
and sta are either both set or both not set.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 69aa623163c6..f7fdfe710951 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -4125,6 +4125,8 @@ static bool ieee80211_rx_data_set_sta(struct ieee80211_rx_data *rx, if (!rx->sdata) rx->sdata = sta->sdata; rx->link_sta = &sta->deflink; + } else { + rx->link_sta = NULL; } if (link_id < 0) |