]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: mac80211: Don't call fq_flow_idx() for management frames
authorAlexander Wetzel <Alexander@wetzel-home.de>
Thu, 17 Jul 2025 16:25:47 +0000 (18:25 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 10:13:45 +0000 (12:13 +0200)
[ Upstream commit cb3bb3d88dfcd177a1050c0a009a3ee147b2e5b9 ]

skb_get_hash() can only be used when the skb is linked to a netdev
device.

Signed-off-by: Alexander Wetzel <Alexander@wetzel-home.de>
Fixes: 73bc9e0af594 ("mac80211: don't apply flow control on management frames")
Link: https://patch.msgid.link/20250717162547.94582-3-Alexander@wetzel-home.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/mac80211/tx.c

index 0386810be520727f676697db8a09f37c753ec1dd..16f8b24820ae6cb673354fa318968aca74f9dbc9 100644 (file)
@@ -1437,7 +1437,7 @@ static void ieee80211_txq_enqueue(struct ieee80211_local *local,
 {
        struct fq *fq = &local->fq;
        struct fq_tin *tin = &txqi->tin;
-       u32 flow_idx = fq_flow_idx(fq, skb);
+       u32 flow_idx;
 
        ieee80211_set_skb_enqueue_time(skb);
 
@@ -1453,6 +1453,7 @@ static void ieee80211_txq_enqueue(struct ieee80211_local *local,
                        IEEE80211_TX_INTCFL_NEED_TXPROCESSING;
                __skb_queue_tail(&txqi->frags, skb);
        } else {
+               flow_idx = fq_flow_idx(fq, skb);
                fq_tin_enqueue(fq, tin, flow_idx, skb,
                               fq_skb_free_func);
        }