Jonas Jelonek <jelonek.jonas@xxxxxxxxx> writes: > This patch changes mac80211 rate control for the ath9k driver. > The rate lookup per packet is changed from legacy usage of > ieee80211_get_tx_rates() to the new rate table based lookup in struct > ieee80211_sta->rates. > > The most recent rate control API (introduced with > 0d528d85c519b755b6f4e1bafa3a39984370e1c1) allows drivers to directly get > rates from ieee80211_sta->rates. This is not used by every driver yet, > the translation/merge is currently performed in ieee80211_get_tx_rates. > This patch changes the behaviour and avoids the call to > ieee80211_get_tx_rates and subsequent calls. ath9k now directly reads > rates from sta->rates into its rate table. Cause ath9k does not > expect rate selection in SKB->CB, the table merge does not consider rate > array in SKB->CB except for the first entry (used for probing). > > Tested with a 8devices Rambutan with QCA9558 SoC by performing two > runs, one without the patch and one with. Generated traffic between > AP and multiple STAs in each run, measured throughput and captured rc_stats. > Comparison of both runs resulted in same rate selection and no > performance loss or other negative effects. > > Co-developed-by: Thomas Huehn <thomas.huehn@xxxxxxxxxxxxxxxx> > Signed-off-by: Thomas Huehn <thomas.huehn@xxxxxxxxxxxxxxxx> > Signed-off-by: Jonas Jelonek <jelonek.jonas@xxxxxxxxx> Better, thanks! Acked-by: Toke Høiland-Jørgensen <toke@xxxxxxxxxx>