From 3579f4c28e77a8a19cb804ab7f7ea6843c50f6ad Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Wed, 24 Aug 2022 12:37:32 +0200 Subject: [PATCH] wifi: mac80211: allow link address A2 in TXQ dequeue In ieee80211_tx_dequeue() we currently allow a control port frame to be transmitted on a non-authorized port only if the A2 matches the local interface address, but if that's an MLD and the peer is a legacy peer, we need to allow link address here. Fix that. Signed-off-by: Johannes Berg --- net/mac80211/tx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 1c2658e..51d564c 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -3772,8 +3772,8 @@ begin: !test_sta_flag(tx.sta, WLAN_STA_AUTHORIZED) && (!(info->control.flags & IEEE80211_TX_CTRL_PORT_CTRL_PROTO) || - !ether_addr_equal(tx.sdata->vif.addr, - hdr->addr2)))) { + !ieee80211_is_our_addr(tx.sdata, hdr->addr2, + NULL)))) { I802_DEBUG_INC(local->tx_handlers_drop_unauth_port); ieee80211_free_txskb(&local->hw, skb); goto begin; -- 2.7.4