linux/drivers
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
..
accessibility
acpi ACPI: video: prevent NULL deref in acpi_get_pci_dev() 2009-06-26 00:23:42 -04:00
amba
ata libata: don't set IORDY for reset 2009-06-23 01:54:30 -04:00
atm drivers/atm: Use DIV_ROUND_CLOSEST 2009-08-02 12:54:22 -07:00
auxdisplay
base Merge branch 'akpm' 2009-06-16 19:50:13 -07:00
block cciss: Ignore stale commands after reboot 2009-07-03 21:06:45 +02:00
bluetooth
cdrom
char Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
clocksource clocksource: sh_tmu: Make undefined TCOR behaviour less undefined. 2009-06-24 21:08:11 +09:00
connector Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-07-23 19:03:51 -07:00
cpufreq
cpuidle
crypto crypto: padlock-aes - work around Nano CPU errata in CBC mode 2009-06-18 19:31:09 +08:00
dca
dio
dma DMA: txx9dmac: use dma_unmap_single if DMA_COMPL_{SRC,DEST}_UNMAP_SINGLE set 2009-06-24 18:34:40 +01:00
edac edac: add DDR3 memory type for MPC85xx EDAC 2009-06-30 18:55:59 -07:00
eisa Merge branch 'akpm' 2009-06-16 19:50:13 -07:00
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2009-06-22 21:29:52 -07:00
firmware Pull for-2.6.31 into release 2009-06-17 09:35:24 -07:00
gpio Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
gpu Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2009-06-25 17:04:37 -07:00
hid
hwmon Merge branch 'akpm' 2009-06-16 19:50:13 -07:00
i2c i2c: fix build bug in i2c-designware.c 2009-06-25 11:22:12 -07:00
ide ide: memory overrun in ide_get_identity_ioctl() on big endian machines using ioctl HDIO_OBSOLETE_IDENTITY 2009-06-29 19:31:41 -07:00
idle
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2009-06-22 21:29:52 -07:00
ieee802154 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan 2009-07-27 11:29:31 -07:00
infiniband Merge branches 'ehca', 'misc', 'mlx4', 'mthca' and 'nes' into for-linus 2009-06-23 10:38:47 -07:00
input Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
isdn mISDN: Fix wrong struct name in macro and clarifications 2009-07-27 08:20:55 -07:00
leds Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
lguest eventfd: revised interface and cleanups 2009-06-30 18:55:58 -07:00
macintosh powerpc/pmac: Fix DMA ops for MacIO devices 2009-06-26 14:37:25 +10:00
mca
md Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2009-07-01 10:41:09 -07:00
media net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions 2009-07-05 19:16:04 -07:00
memstick
message net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions 2009-07-05 19:16:04 -07:00
mfd mfd: fix pcap adc locking 2009-07-03 11:54:57 +02:00
misc net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions 2009-07-05 19:16:04 -07:00
mmc spi: add spi_master flag word 2009-06-30 18:56:00 -07:00
mtd mtd: nand: fix build failure and incorrect return from omap_wait() 2009-06-28 10:24:13 +01:00
net b43: Work around mac80211 race condition 2009-08-04 16:43:26 -04:00
nubus
of of/mdio: Add support function for Ethernet fixed-link property 2009-07-22 09:27:18 -07:00
oprofile
parisc parisc: superio: fix build breakage 2009-07-03 03:34:12 +00:00
parport parport/serial: add support for NetMos 9901 Multi-IO card 2009-06-30 18:55:59 -07:00
pci Merge git://git.infradead.org/iommu-2.6 2009-07-02 16:51:09 -07:00
pcmcia Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
platform Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-07-23 19:03:51 -07:00
pnp Merge branches 'acerhdf', 'acpi-pci-bind', 'bjorn-pci-root', 'bugzilla-12904', 'bugzilla-13121', 'bugzilla-13396', 'bugzilla-13533', 'bugzilla-13612', 'c3_lock', 'hid-cleanups', 'misc-2.6.31', 'pdc-leak-fix', 'pnpacpi', 'power_nocheck', 'thinkpad_acpi', 'video' and 'wmi' into release 2009-06-24 01:19:50 -04:00
power
pps LinuxPPS: core support 2009-06-18 13:04:04 -07:00
ps3
rapidio
regulator
rtc Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
s390 net: convert remaining non-symbolic return values in ndo_start_xmit() functions 2009-07-05 19:23:38 -07:00
sbus
scsi Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-07-30 19:22:43 -07:00
serial Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
sh
sn
spi spi: bitbang bugfix in message setup 2009-06-30 18:56:00 -07:00
ssb Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-07-09 20:18:24 -07:00
staging connector: make callback argument type explicit 2009-07-17 10:13:21 -07:00
tc
telephony
thermal
uio
usb net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions 2009-07-05 19:16:04 -07:00
uwb
video connector: make callback argument type explicit 2009-07-17 10:13:21 -07:00
virtio
vlynq drivers: add support for the TI VLYNQ bus 2009-06-16 19:47:52 -07:00
w1 connector: make callback argument type explicit 2009-07-17 10:13:21 -07:00
watchdog powerpc/rtas: Fix watchdog driver temperature read functionality 2009-06-26 16:55:37 +10:00
xen
zorro
Kconfig LinuxPPS: core support 2009-06-18 13:04:04 -07:00
Makefile LinuxPPS: core support 2009-06-18 13:04:04 -07:00