Commit 3579f4c2 authored by Johannes Berg's avatar Johannes Berg

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: default avatarJohannes Berg <johannes.berg@intel.com>
parent a6ba64d0
...@@ -3772,8 +3772,8 @@ struct sk_buff *ieee80211_tx_dequeue(struct ieee80211_hw *hw, ...@@ -3772,8 +3772,8 @@ struct sk_buff *ieee80211_tx_dequeue(struct ieee80211_hw *hw,
!test_sta_flag(tx.sta, WLAN_STA_AUTHORIZED) && !test_sta_flag(tx.sta, WLAN_STA_AUTHORIZED) &&
(!(info->control.flags & (!(info->control.flags &
IEEE80211_TX_CTRL_PORT_CTRL_PROTO) || IEEE80211_TX_CTRL_PORT_CTRL_PROTO) ||
!ether_addr_equal(tx.sdata->vif.addr, !ieee80211_is_our_addr(tx.sdata, hdr->addr2,
hdr->addr2)))) { NULL)))) {
I802_DEBUG_INC(local->tx_handlers_drop_unauth_port); I802_DEBUG_INC(local->tx_handlers_drop_unauth_port);
ieee80211_free_txskb(&local->hw, skb); ieee80211_free_txskb(&local->hw, skb);
goto begin; goto begin;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment