• I
    rt2x00: Fix rate detection for invalid signals · 866a0503
    Ivo van Doorn 提交于
    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: NIvo van Doorn <IvDoorn@gmail.com>
    Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
    866a0503
rt2x00dev.c 32.8 KB