linux/drivers/net/wireless
Ivo van Doorn 866a050384 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>
2008-03-25 16:42:00 -04:00
..
ath5k Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-18 00:37:55 -07:00
b43 b43: Don't compile N-PHY code when N-PHY is disabled 2008-03-25 16:41:59 -04:00
b43legacy Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-05 12:26:41 -08:00
hostap Add another Prism2 card to hostap 2008-01-31 19:26:51 -08:00
iwlwifi iwlwifi: Completing the parameter packaging 2008-03-25 16:41:58 -04:00
libertas libertas: store rssi as an u32 2008-03-25 16:41:50 -04:00
prism54 prism54: Convert wpa_sem in a mutex 2008-02-29 15:37:17 -05:00
rt2x00 rt2x00: Fix rate detection for invalid signals 2008-03-25 16:42:00 -04:00
zd1211rw zd1211rw: support for mesh interface and beaconing 2008-03-06 17:19:47 -05:00
adm8211.c adm8211: fix cfg80211 band API conversion 2008-02-29 15:41:48 -05:00
adm8211.h cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
airo_cs.c
airo.c
airo.h
airport.c
arlan-main.c
arlan-proc.c
arlan.h
atmel_cs.c
atmel_pci.c
atmel.c drivers/net/wireless/atmel.c: Use time_* macros 2008-02-29 15:37:11 -05:00
atmel.h
hermes_rid.h
hermes.c
hermes.h
i82586.h
i82593.h
ipw2100.c latency.c: use QoS infrastructure 2008-02-05 09:44:22 -08:00
ipw2100.h
ipw2200.c ipw2200 annotations and fixes 2008-03-25 16:41:58 -04:00
ipw2200.h ipw2200 annotations and fixes 2008-03-25 16:41:58 -04:00
Kconfig the scheduled bcm43xx removal 2008-03-13 16:01:04 -04:00
Makefile the scheduled bcm43xx removal 2008-03-13 16:01:04 -04:00
net2280.h
netwave_cs.c pcmcia: replace kio_addr_t with unsigned int everywhere 2008-02-05 09:44:08 -08:00
orinoco_cs.c
orinoco_nortel.c
orinoco_pci.c
orinoco_pci.h
orinoco_plx.c
orinoco_tmd.c
orinoco.c
orinoco.h
p54.h cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
p54common.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-05 12:26:41 -08:00
p54common.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-05 12:26:41 -08:00
p54pci.c
p54pci.h
p54usb.c prism54: support for 124a:4025 - another version of IOGear GWU513 802.11g 2008-03-13 15:57:22 -04:00
p54usb.h
ray_cs.c
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: cleanup, rename structure members 2008-03-13 16:02:33 -04:00
rtl818x.h cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
rtl8180_dev.c rtl818x: fix RTS/CTS-less transmit 2008-02-29 15:37:12 -05:00
rtl8180_grf5101.c cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
rtl8180_grf5101.h
rtl8180_max2820.c cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
rtl8180_max2820.h
rtl8180_rtl8225.c cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
rtl8180_rtl8225.h
rtl8180_sa2400.c cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
rtl8180_sa2400.h
rtl8180.h cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
rtl8187_dev.c rtl818x: fix RTS/CTS-less transmit 2008-02-29 15:37:12 -05:00
rtl8187_rtl8225.c cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
rtl8187_rtl8225.h
rtl8187.h cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
spectrum_cs.c
strip.c wireless: Convert to list_for_each_entry_rcu() 2008-02-29 15:37:25 -05:00
wavelan_cs.c pcmcia: replace kio_addr_t with unsigned int everywhere 2008-02-05 09:44:08 -08:00
wavelan_cs.h
wavelan_cs.p.h
wavelan.c
wavelan.h wavelan: mark hardware interfacing structures as packed 2008-02-15 13:44:17 -05:00
wavelan.p.h
wl3501_cs.c
wl3501.h
zd1201.c
zd1201.h