OpenCloudOS-Kernel/drivers/net/wireless
Larry Finger 18c6951091 b43: Work around mac80211 race condition
As shown in http://thread.gmane.org/gmane.linux.kernel.wireless.general/36497,
mac80211 has a bug that allows a call to the TX routine after the queues have
been stopped. This situation will only occur under extreme stress. Although
b43 does not crash when this condition occurs, it does generate a WARN_ON and
also logs a queue overrun message. This patch recognizes b43 is not at fault
and logs a message only when the most verbose debugging mode is enabled. In
the unlikely event that the queue is not stopped when the DMA queue becomes
full, then a warning is issued.

During testing of this patch with one output stream running repeated tcpperf
writes and a second running a flood ping, this routine was entered with
the DMA ring stopped about once per hour. The condition where the DMA queue is
full but the ring has not been stopped has never been seen by me.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-04 16:43:26 -04:00
..
ath ath5k: update PCU opmode whenever a new interface is added 2009-08-04 16:43:25 -04:00
b43 b43: Work around mac80211 race condition 2009-08-04 16:43:26 -04:00
b43legacy mac80211: push rx status into skb->cb 2009-07-10 14:57:54 -04:00
hostap hostap_cs: Enable shared interrupts 2009-07-24 15:05:19 -04:00
ipw2x00 drivers/net: Drop unnecessary NULL test 2009-07-24 15:05:12 -04:00
iwlwifi Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2009-07-30 19:26:55 -07:00
iwmc3200wifi Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2009-07-30 19:26:55 -07:00
libertas Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-07-30 19:22:43 -07:00
libertas_tf mac80211: push rx status into skb->cb 2009-07-10 14:57:54 -04:00
orinoco Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-07-16 20:21:24 -07:00
p54 mac80211: fix PS-poll response, race 2009-07-27 15:24:19 -04:00
prism54 drivers/net/wireless: Use PCI_VDEVICE 2009-07-10 15:02:25 -04:00
rt2x00 rt2x00: Fix build error when crypto support is disabled 2009-08-04 16:43:22 -04:00
rtl818x Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-07-23 19:03:51 -07:00
wl12xx wl1251: remove wl1251_plt_start/stop() 2009-07-24 15:05:29 -04:00
zd1211rw zd1211rw: adding Accton Technology Corp (083a:e501) as a ZD1211B device 2009-07-24 15:05:13 -04:00
Kconfig wireless: use menuconfig for WLAN_PRE80211 and WLAN_80211 2009-08-04 16:43:21 -04:00
Makefile iwmc3200wifi: Add new Intel Wireless Multicomm 802.11 driver 2009-05-22 14:06:02 -04:00
adm8211.c adm8211: remove uneeded code during suspend/resume 2009-07-24 15:05:30 -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 at76c50x-usb: cancel scan work at stop callback 2009-08-04 16:43:19 -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 Wireless: remove driver_data direct access of struct device 2009-05-06 15:15:01 -04:00
atmel_pci.c
i82586.h
i82593.h
mac80211_hwsim.c wireless: remove print_mac uses 2009-07-24 15:05:19 -04:00
mwl8k.c wireless: remove print_mac uses 2009-07-24 15:05:19 -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 ray_cs: remove bogus NULL check at head of ray_get_wireless_stats 2009-07-29 15:45:59 -04:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: convert set/get txpower to cfg80211 2009-07-10 14:57:53 -04:00
strip.c Revert "NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines." 2009-07-14 13:13:41 -07: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 net: convert remaining non-symbolic return values in ndo_start_xmit() functions 2009-07-05 19:23:38 -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