]> 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:04:59 +0000 (12:04 +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 a04c7f9b2b0e28ce5a822d37676c88c1acbb9dc3..fe47674b83b6d8f02439bc4e1db9b7e0b36e846f 100644 (file)
@@ -1467,7 +1467,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);
 
@@ -1483,6 +1483,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);
        }