From 474a38a08e78b3b42a5cee64861d90950a49a6e5 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 c125871adb62..861341224a29 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -6372,8 +6372,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;