linux/drivers/net/wireless/rtl818x
Andrea Merello 7df007243b rtl818x_pci: Fix rtl8185 excessive IFS after CTS-to-self
Measuring time between _end_ of CTS-to-self and _end_ of datapacket (with a
prism54 board and mac80211 hacked to let the MAC timestamp stay untouched in the
radiotap header) resulted in about 300uS, while the datapacket itself should be
by far shorter (less than 100uS) and IFS should be SIFS (10uS).
This measure was confirmed whith a scope: about 250uS IFS has been seen between
the two packets.

This situation causes the CTS-to-self protection mechanism to work incorrectly
due to the NAV expiring during, or even before beginning, the packet
transmission, and it also causes the performances to be anyway reduced due to
time waste.

This problem has been seen at every packet TXed with CTS-to-self enabled on
rtl8185 board.
rtl8187se seems not affected (and rtl8180, being a 802.11b card, does not have
CTS-to-self mechaninsm).

This patch fixes this by adding a magic register write, making the board wait
for correct SIFS after CTS-to-self packet.

Signed-off-by: Andrea Merello <andrea.merello@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-01 14:26:27 -04:00
..
rtl8180 rtl818x_pci: Fix rtl8185 excessive IFS after CTS-to-self 2014-07-01 14:26:27 -04:00
rtl8187 rtl8187: make CTS-to-self protection work 2014-05-07 16:08:09 -04:00
Kconfig rtl818x: Update Kconfig for rtl8187se 2014-03-27 14:20:10 -04:00
Makefile rtl818x: move rtl8180 and rtl8187 to separate subdirectories 2010-12-22 13:45:32 -05:00
rtl818x.h rtl8180: add parentheses to REG_ADDR macros 2014-04-22 15:06:27 -04:00