]> git.baikalelectronics.ru Git - kernel.git/commit
rt2x00: Fix rate detection for invalid signals
authorIvo van Doorn <ivdoorn@gmail.com>
Tue, 25 Mar 2008 13:12:45 +0000 (14:12 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 25 Mar 2008 20:42:00 +0000 (16:42 -0400)
commit81a784409d8dc6a50a6d168324f2d6fb36ca97d1
treeb3fbc8285add39912effb4e67f33e5435e67a86f
parent6bfac9a2a511580c893ad34c40857b492a751d7a
rt2x00: Fix rate detection for invalid signals

It has been observed on rt2500pci hardware that some
frames received with signal 0x0C do not have the OFDM
flag set.

Signals can have 2 meanings:
 1) The PLCP value
 2) The bitrate * 10

For rt2500pci (1) is for frames received with a OFDM rate,
and (2) is for frames received with a CCK rate.
But 0x0C is a invalid bitrate value but is a valid PLCP
value for 54Mbs (obvious OFDM rate).
This means that it is possible that the hardware does not
set the OFDM bit correctly under all circumstances.
This results in rt2x00 failing to detect the rate and
mac80211 triggering a WARN_ON() and dropping the frame.

To bypass this, print a warning when such a frame is received,
and reset the rate to the lowest supported rate for the current band.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2x00dev.c