OpenCloudOS-Kernel/drivers/net/wireless
Daniel C Halperin b58ef214b7 iwlwifi: remove incorrect uses of ieee80211_get_tx_rate to prevent TX stall
Refactor and correct rate selection for outgoing transmitted
packets.

First, note that HT rates in the mac80211 rate table do not provide valid
indices when ieee80211_get_tx_rate is called; the check to see if we could to
abort a transmission early in iwl_tx_skb() would thus occasionally read invalid
memory and occasionally stall transmission (if the erroneous byte was 0xff).
We remove that code; the check wasn't valid anyway.

Second, iwl_tx_cmd_build_rate() also called ieee80211_get_tx_rate to be used
for sending management packets, which do not use the uCode station table.  This
patch refactors that function and adds comments to enhance legibility, replaces
the call to ieee80211_get_tx_rate() with a direct lookup, and adds error
handling in case the table entry is invalid.

Signed-off-by: Daniel C Halperin <daniel.c.halperin@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-31 14:42:09 -04:00
..
ath ath5k: don't use PCI ID to find the chip revision 2009-08-28 14:40:55 -04:00
b43 b43: Implement antenna diversity support for LP-PHY 2009-08-28 14:40:55 -04:00
b43legacy mac80211: allow configure_filter callback to sleep 2009-08-20 11:35:58 -04:00
hostap hostap_cs: Enable shared interrupts 2009-07-24 15:05:19 -04:00
ipw2x00 libipw: initiate cfg80211 API conversion 2009-08-28 14:40:46 -04:00
iwlwifi iwlwifi: remove incorrect uses of ieee80211_get_tx_rate to prevent TX stall 2009-08-31 14:42:09 -04:00
iwmc3200wifi Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-08-12 17:44:53 -07:00
libertas libertas: add NULL check on return value of get_zeroed_page 2009-08-28 14:41:01 -04:00
libertas_tf mac80211: allow configure_filter callback to sleep 2009-08-20 11:35:58 -04:00
orinoco orinoco: remove spare whitespace 2009-08-20 11:36:07 -04:00
p54 p54: fix broadcast buffering in AP mode 2009-08-28 14:40:23 -04:00
prism54 PRISM54: fix compilation warning 2009-08-28 14:40:44 -04:00
rt2x00 rt2x00: Cleanup rt2x00mac_bss_info_changed() 2009-08-28 14:40:53 -04:00
rtl818x rtl8187: Implement rfkill support 2009-08-28 14:40:52 -04:00
wl12xx wl1271: remove print_mac usage 2009-08-20 11:36:03 -04:00
zd1211rw mac80211: allow configure_filter callback to sleep 2009-08-20 11:35:58 -04:00
Kconfig wireless: use menuconfig for WLAN_PRE80211 and WLAN_80211 2009-08-04 16:43:21 -04:00
Makefile
adm8211.c mac80211: allow configure_filter callback to sleep 2009-08-20 11:35:58 -04:00
adm8211.h
airo.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-07-30 19:22:43 -07:00
airo.h
airo_cs.c
arlan-main.c arlan: inverted logic? 2009-07-24 15:05:27 -04:00
arlan-proc.c
arlan.h
at76c50x-usb.c mac80211: remove deprecated API 2009-08-20 11:35:58 -04:00
at76c50x-usb.h
atmel.c net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions 2009-07-05 19:16:04 -07:00
atmel.h
atmel_cs.c
atmel_pci.c
i82586.h
i82593.h
mac80211_hwsim.c mac80211: allow configure_filter callback to sleep 2009-08-20 11:35:58 -04:00
mwl8k.c mwl8k: separate driver and device info reporting during probe 2009-08-28 14:40:42 -04:00
netwave_cs.c net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions 2009-07-05 19:16:04 -07:00
ray_cs.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-08-12 17:44:53 -07:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: use cfg80211_wext_handler 2009-08-28 14:41:01 -04:00
strip.c drivers/net/wireless: Use DIV_ROUND_CLOSEST 2009-08-04 16:44:23 -04:00
wavelan.c net: convert remaining non-symbolic return values in ndo_start_xmit() functions 2009-07-05 19:23:38 -07:00
wavelan.h
wavelan.p.h
wavelan_cs.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-08-12 17:44:53 -07:00
wavelan_cs.h
wavelan_cs.p.h
wl3501.h
wl3501_cs.c net: convert remaining non-symbolic return values in ndo_start_xmit() functions 2009-07-05 19:23:38 -07:00
zd1201.c net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions 2009-07-05 19:16:04 -07:00
zd1201.h