Skip to content
Snippets Groups Projects
Commit fa22b51a authored by Sriram R's avatar Sriram R Committed by Johannes Berg
Browse files

mac80211: Fix MLO address translation for multiple bss case


When multiple interfaces are present in the local interface
list, new skb copy is taken before rx processing except for
the first interface. The address translation happens each
time only on the original skb since the hdr pointer is not
updated properly to the newly created skb.

As a result frames start to drop in userspace when address
based checks or search fails.

Signed-off-by: default avatarSriram R <quic_srirrama@quicinc.com>
Link: https://lore.kernel.org/r/20221208040050.25922-1-quic_srirrama@quicinc.com


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 0eb38842
No related branches found
No related tags found
No related merge requests found
......@@ -4838,6 +4838,9 @@ static bool ieee80211_prepare_and_rx_handle(struct ieee80211_rx_data *rx,
*/
shwt = skb_hwtstamps(rx->skb);
shwt->hwtstamp = skb_hwtstamps(skb)->hwtstamp;
/* Update the hdr pointer to the new skb for translation below */
hdr = (struct ieee80211_hdr *)rx->skb->data;
}
if (unlikely(rx->sta && rx->sta->sta.mlo)) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment