From a24b4374489d4baee5149992207c3fffcaaf1e5a Mon Sep 17 00:00:00 2001 From: Mark Featherston Date: Fri, 31 Jul 2026 09:56:43 -0700 Subject: [PATCH] wifi: mac80211: align control-port TX skbs Control-port frames are allocated differently from ordinary netdev TX packets. Use netdev_alloc_skb_ip_align() so they receive the usual network-packet alignment. This path can expose driver assumptions when converting Ethernet control-port frames for transmission. ath10k's native-WiFi TX path, for example, removes the QoS Control field with skb_pull(2). This fixes WPA2 EAPOL transmission on QCA9377 ath10k_sdio devices when wpa_supplicant sends EAPOL through NL80211_CMD_CONTROL_PORT_FRAME. Assisted-by: codex:gpt-5.6-terra Signed-off-by: Mark Featherston --- 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 e3841099bbda..7dfd7614685c 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -6160,8 +6160,8 @@ int ieee80211_tx_control_port(struct wiphy *wiphy, struct net_device *dev, flags |= IEEE80211_TX_INTFL_NL80211_FRAME_TX; - skb = dev_alloc_skb(local->hw.extra_tx_headroom + - sizeof(struct ethhdr) + len); + skb = netdev_alloc_skb_ip_align(dev, local->hw.extra_tx_headroom + + sizeof(struct ethhdr) + len); if (!skb) return -ENOMEM;