mac80211: fix TCP performance on mesh interface
authorMaxime Bizon <mbizon@freebox.fr>
Thu, 18 Nov 2021 11:58:24 +0000 (12:58 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 26 Nov 2021 10:34:29 +0000 (11:34 +0100)
sta is NULL for mesh point (resolved later), so sk pacing parameters
were not applied.

Signed-off-by: Maxime Bizon <mbizon@freebox.fr>
Link: https://lore.kernel.org/r/66f51659416ac35d6b11a313bd3ffe8b8a43dd55.camel@freebox.fr
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/tx.c

index 278945e..51ec5f9 100644 (file)
@@ -4191,11 +4191,11 @@ void __ieee80211_subif_start_xmit(struct sk_buff *skb,
 
        ieee80211_aggr_check(sdata, sta, skb);
 
+       sk_pacing_shift_update(skb->sk, sdata->local->hw.tx_sk_pacing_shift);
+
        if (sta) {
                struct ieee80211_fast_tx *fast_tx;
 
-               sk_pacing_shift_update(skb->sk, sdata->local->hw.tx_sk_pacing_shift);
-
                fast_tx = rcu_dereference(sta->fast_tx);
 
                if (fast_tx &&