mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
wifi: mac80211: don't translate beacon/presp addrs
[ Upstream commit47c171a426] Don't do link address translation for beacons and probe responses, this leads to reporting multiple scan list entries for the same AP (one with the MLD address) which just breaks things. We might need to extend this in the future for some other (action) frames that aren't MLD addressed. Fixes:42fb9148c0("wifi: mac80211: do link->MLD address translation on RX") Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Link: https://lore.kernel.org/r/20230604120651.62adead1b43a.Ifc25eed26ebf3b269f60b1ec10060156d0e7ec0d@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
4dd40fec5b
commit
79c975514c
@@ -4857,7 +4857,9 @@ static bool ieee80211_prepare_and_rx_handle(struct ieee80211_rx_data *rx,
|
||||
}
|
||||
|
||||
if (unlikely(rx->sta && rx->sta->sta.mlo) &&
|
||||
is_unicast_ether_addr(hdr->addr1)) {
|
||||
is_unicast_ether_addr(hdr->addr1) &&
|
||||
!ieee80211_is_probe_resp(hdr->frame_control) &&
|
||||
!ieee80211_is_beacon(hdr->frame_control)) {
|
||||
/* translate to MLD addresses */
|
||||
if (ether_addr_equal(link->conf->addr, hdr->addr1))
|
||||
ether_addr_copy(hdr->addr1, rx->sdata->vif.addr);
|
||||
|
||||
Reference in New Issue
Block a user