]> 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 14:38:49 +0000 (16:38 +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 4a9b258300fef11b0f540b2c0ebd07260ade7b68..04f4d574401f81f54f478d4c1ce07622d0d30f48 100644 (file)
@@ -1428,7 +1428,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);
 
@@ -1444,6 +1444,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);
        }