rtl818x_pci: fix response rate may be incorrect.
authorAndrea Merello <andrea.merello@gmail.com>
Mon, 6 Oct 2014 18:23:55 +0000 (20:23 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 7 Oct 2014 18:48:37 +0000 (14:48 -0400)
commit79ee65659e116a49c81f63480a7672b7cbafa323
tree84eec82afc5003e0fedd761b0f543315be719652
parentd7ffd588f00ef2d9d0f3acc569ddbaebe5c4f8c3
rtl818x_pci: fix response rate may be incorrect.

Currently the allowed "respose rate" set (rates for HW generated frames
like ACKs) is the same as the basic rate set.

The HW will use the higher allowed response rate that is lower than the
rate of the received frame.

This is more or less what IEEE80211 mandates, but I missed the fact
that IEEE80211 also says that whenever it happens that for a modulation
class there is no any rate in the basic rates set, then the response rate
set shall include also all the mandatory rates for that modulation class.

This patch adds mandatory OFDM rates to the allowed response rate set if
no OFDM rate is included in the basic rate set.

Depending by the AP, I faced cases in which this patch seems to cause a
noticeable perfomance improvement.

- With my usual test AP there is no particular perfomance difference.
- With a prism54/hostapd AP this patch causes RX thoughput increase from
  about 5Mbps to about 20Mbps.

Hopefully this patch may help people that faced performance regression wrt
the old staging driver.

Signed-off-by: Andrea Merello <andrea.merello@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rtl818x/rtl8180/dev.c