linux/drivers/net/wireless
Larry Finger b6c3f5be7c b43: Fix throughput regression
Commit c7ab5ef9bc entitled "b43: implement
short slot and basic rate handling" reduced the transmit throughput for
my BCM4311 device from 18 Mb/s to 0.7 Mb/s. The basic rate handling
portion is OK, the problem is in the short slot handling.

Prior to this change, the short slot enable/disable routines were never
called. Experimentation showed that the critical part was changing the
value at offset 0x0010 in the shared memory. This is supposed to contain
the 802.11 Slot Time in usec, but if it is changed from its initial value
of zero, performance is destroyed. On the other hand, changing the value
in the MMIO register corresponding to the Interframe Slot Time increased
performance from 18 to 22 Mb/s. A BCM4306/3 also shows dramatic
improvement of the transmit rate from 5.3 to 19.0 Mb/s.

Other changes in the patch include removal of the magic number for the
MMIO register, and allowing the slot time to be set for any PHY operating
in the 2.4 GHz band. Previously, the routine was executed only for G PHYs.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Stable <stable@kernel.org> [Any stable version back through 2.6.28]
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-03 16:55:19 -05:00
..
ath ath9k: fix eeprom INI values override for 2GHz-only cards 2010-01-25 16:17:26 -05:00
b43 b43: Fix throughput regression 2010-02-03 16:55:19 -05:00
b43legacy b43legacy: avoid PPC fault during resume 2009-12-04 13:28:50 -05:00
hostap Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-12-05 15:22:26 -08:00
ipw2x00 ipw2100: fix rebooting hang with driver loaded 2009-12-04 14:16:25 -05:00
iwlwifi iwlwifi: fix pointer signedness warning 2010-01-25 16:17:25 -05:00
iwmc3200wifi iwmc3200wifi: Add UMAC wifi headers to the pmkid command 2010-01-14 17:14:57 -05:00
libertas libertas: Remove carrier signaling from the scan code 2009-12-28 15:56:33 -05:00
libertas_tf wireless: remove remaining qual code 2009-12-28 16:19:45 -05:00
orinoco orinoco: fix GFP_KERNEL in orinoco_set_key with interrupts disabled 2009-12-28 15:55:47 -05:00
p54 p54pci: rx frame length check 2010-01-18 15:07:02 -05:00
prism54 drivers/net: request_irq - Remove unnecessary leading & from second arg 2009-11-18 23:29:17 -08:00
rt2x00 rt2x00: Properly request tx headroom for alignment operations. 2010-01-05 16:27:42 -05:00
rtl818x wireless: remove remaining qual code 2009-12-28 16:19:45 -05:00
wl12xx wl1251: timeout one too soon in wl1251_boot_run_firmware() 2009-12-28 16:20:06 -05:00
zd1211rw zd1211rw: adding 0409:0248 to supported device list 2010-01-18 15:07:03 -05:00
adm8211.c drivers/net/adm8211.c: remove exceptional & on function name 2009-11-18 10:48:52 -08:00
adm8211.h
airo_cs.c pcmcia: rework the irq_req_t typedef 2009-11-28 18:03:14 +01:00
airo.c airo: Fix integer overflow warning 2009-12-04 13:30:40 -05:00
airo.h
at76c50x-usb.c at76c50x-usb: Supply additional parameters to at76_start_monitor scan request 2009-11-11 17:09:17 -05:00
at76c50x-usb.h
atmel_cs.c pcmcia: rework the irq_req_t typedef 2009-11-28 18:03:14 +01:00
atmel_pci.c
atmel.c atmel: declare MODULE_FIRMWARE 2009-11-11 15:23:49 -05:00
atmel.h
Kconfig wireless: airo_cs needs WEXT_SPY 2009-10-30 16:50:38 -04:00
mac80211_hwsim.c cfg80211: convert bools into flags 2009-11-19 11:08:50 -05:00
Makefile netwave: move driver to staging 2009-10-30 16:50:34 -04:00
mwl8k.c mwl8k: fix configure_filter() memory leak on error 2010-01-04 16:09:48 -05:00
ray_cs.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-12-05 15:22:26 -08:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: disable stall workaround 2009-11-23 17:05:40 -05:00
wl3501_cs.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-12-05 15:22:26 -08:00
wl3501.h
zd1201.c zd1201: declare MODULE_FIRMWARE 2009-11-11 15:23:54 -05:00
zd1201.h