kernel_optimize_test/drivers
Adam Baker 3d82346c5d rt2x00: Place mutex around USB register access
There is a buffer, csr_cache which is used to hold copies of data being passed
to the USB stack which can get corrupted if multiple threads attempt to access
CSR registers simultaneously. There is also the possibility if multiple
threads try to access BBP or RF registers for the multiple USB operations
needed to get interleaved leading to incorrect results. This patch introduces
a mutex to prevent such simultaneous access. The interleaved access problem
may also affect the PCI devices but if so that will be handled in a follow-up
patch.

Signed-off-by: Adam Baker <linux@baker-net.org.uk>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-01-28 15:03:03 -08:00
..
acorn/char
acpi Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
amba
ata libata: Change "write_data" to "rw" for some function documentations 2008-01-29 08:48:17 +11:00
atm [ATM]: [he] fixing compilation when you define USE_RBPS_POOL/USE_RBPL_POOL 2008-01-28 15:00:15 -08:00
auxdisplay
base Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-01-25 17:19:08 -08:00
block Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-01-29 08:52:50 +11:00
bluetooth
cdrom Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-01-29 08:52:50 +11:00
char Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2008-01-25 08:38:25 -08:00
clocksource
connector [CONNECTOR]: Cleanup struct cn_callback_entry 2008-01-28 15:00:40 -08:00
cpufreq Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
cpuidle Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
crypto [S390] crypto: move s390 Kconfig options. 2008-01-26 14:11:17 +01:00
dca
dio
dma DMA: Convert from class_device to device for DMA engine 2008-01-24 20:40:05 -08:00
edac Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
eisa
firewire [SCSI] relax scsi dma alignment 2008-01-11 18:29:22 -06:00
firmware Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
hid HID: ADS/Tech Radio si470x needs blacklist entry 2008-01-28 14:51:23 +01:00
hwmon hwmon: (it87) request only Environment Controller ports 2008-01-22 07:21:38 -05:00
i2c Merge branch 'orion' into devel 2008-01-28 13:21:30 +00:00
ide blk_end_request: changing ide-cd (take 4) 2008-01-28 10:37:06 +01:00
ieee1394 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-01-25 17:19:08 -08:00
infiniband [IPV4] drivers/infiniband: Use ipv4_is_<type> 2008-01-28 14:58:17 -08:00
input [ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix 2008-01-28 13:13:25 +00:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2008-01-25 08:35:13 -08:00
kvm Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
leds
lguest cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus() 2008-01-25 21:08:02 +01:00
macintosh i2c: Kill rogue driver IDs 2008-01-27 18:14:47 +01:00
mca
md Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
media i2c: Drivers stop using the redundant client list 2008-01-27 18:14:51 +01:00
message blk_end_request: changing i2o_block (take 4) 2008-01-28 10:36:50 +01:00
mfd [ARM] Fix class_device damage caused by 0c55445f20 2008-01-28 10:59:09 +00:00
misc kobject: convert ibmasm to use kref, not kobject 2008-01-24 20:40:08 -08:00
mmc Merge branch 'blk-end-request' of git://git.kernel.dk/linux-2.6-block 2008-01-29 08:51:32 +11:00
mtd mtd: Convert from class_device to device for MTD/mtdchar 2008-01-24 20:40:06 -08:00
net rt2x00: Place mutex around USB register access 2008-01-28 15:03:03 -08:00
nubus
of
oprofile
parisc [PARISC]: Fix build after ipv4_is_*() changes. 2008-01-28 14:58:20 -08:00
parport
pci Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
pcmcia [ARM] pxa: move memory controller registers into pxa2xx-regs.h 2008-01-26 15:07:54 +00:00
pnp pnpacpi: print resource shortage message only once (more) 2008-01-17 15:38:58 -08:00
power power supply : use class iteration api 2008-01-24 20:40:44 -08:00
ps3
rapidio
rtc Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-01-29 08:52:50 +11:00
s390 [NETNS]: Add netns parameter to inet_(dev_)add_type. 2008-01-28 15:01:27 -08:00
sbus
scsi [ETH]: Combine format_addr() with print_mac(). 2008-01-28 15:00:05 -08:00
serial Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-01-29 08:52:50 +11:00
sh
sn
spi [ARM] pxa: make pxa2xx_spi driver use ssp_request()/ssp_free() 2008-01-26 15:07:52 +00:00
ssb
tc
telephony
uio UIO: constify function pointer tables 2008-01-24 20:40:43 -08:00
usb Merge branch 'pxa-plat' into devel 2008-01-28 13:21:38 +00:00
video Merge branches 'at91', 'ep93xx', 'iop', 'kprobes', 'ks8695', 'misc', 'msm', 's3c2410', 'sa1100' and 'vfp' into devel 2008-01-28 13:21:21 +00:00
virtio
w1 i2c: normal_i2c can be made const (remaining drivers) 2008-01-27 18:14:47 +01:00
watchdog [WATCHDOG] constify function pointer tables 2008-01-25 20:41:30 +00:00
xen
zorro
Kconfig
Makefile