From: Philipp Borgers Date: Wed, 19 May 2021 12:20:18 +0000 (+0200) Subject: mac80211: do not use low data rates for data frames with no ack flag X-Git-Tag: v5.15~843^2~25^2~46 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d333322361e7a099dc74df2498d3fa5fde5c4fa7;p=platform%2Fkernel%2Flinux-starfive.git mac80211: do not use low data rates for data frames with no ack flag Data Frames with no ack flag set should be handled by the rate controler. Make sure we reach the rate controler by returning early from rate_control_send_low if the frame is a data frame with no ack flag. Signed-off-by: Philipp Borgers Link: https://lore.kernel.org/r/20210519122019.92359-3-borgers@mi.fu-berlin.de Signed-off-by: Johannes Berg --- diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c index 63652c3..01d6407 100644 --- a/net/mac80211/rate.c +++ b/net/mac80211/rate.c @@ -396,6 +396,10 @@ static bool rate_control_send_low(struct ieee80211_sta *pubsta, int mcast_rate; bool use_basicrate = false; + if (ieee80211_is_tx_data(txrc->skb) && + info->flags & IEEE80211_TX_CTL_NO_ACK) + return false; + if (!pubsta || rc_no_data_or_no_ack_use_min(txrc)) { __rate_control_send_low(txrc->hw, sband, pubsta, info, txrc->rate_idx_mask);