linux/drivers/net/wireless/rt2x00
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
..
Kconfig [RT2x00]: add driver for Ralink wireless hardware 2007-10-10 16:51:39 -07:00
Makefile [RT2x00]: add driver for Ralink wireless hardware 2007-10-10 16:51:39 -07:00
rt2x00.h rt2x00: Place mutex around USB register access 2008-01-28 15:03:03 -08:00
rt2x00config.c rt2x00: Disable RX when switching antenna 2008-01-28 15:02:56 -08:00
rt2x00debug.c rt2x00: Add rt2x00dev->flags to debugfs 2007-10-10 16:53:04 -07:00
rt2x00debug.h rt2x00: Unconstify rt2x00dev 2008-01-28 15:02:59 -08:00
rt2x00dev.c rt2x00: Remove data_desc structure 2008-01-28 15:03:03 -08:00
rt2x00firmware.c [RT2x00]: add driver for Ralink wireless hardware 2007-10-10 16:51:39 -07:00
rt2x00lib.h [PATCH] rt2x00: Implement SW diversity 2008-01-28 15:02:53 -08:00
rt2x00mac.c rt2x00: Block adhoc & master mode 2007-11-10 04:25:11 -05:00
rt2x00pci.c rt2x00: Remove data_desc structure 2008-01-28 15:03:03 -08:00
rt2x00pci.h rt2x00: Unconstify rt2x00dev 2008-01-28 15:02:59 -08:00
rt2x00reg.h [PATCH] rt2x00: Move TSF sync values into rt2x00config 2007-10-10 16:55:12 -07:00
rt2x00rfkill.c rt2x00: Detect initial rfkill state on register 2008-01-28 15:02:58 -08:00
rt2x00ring.h rt2x00: Remove data_desc structure 2008-01-28 15:03:03 -08:00
rt2x00usb.c rt2x00: Place mutex around USB register access 2008-01-28 15:03:03 -08:00
rt2x00usb.h rt2x00: Place mutex around USB register access 2008-01-28 15:03:03 -08:00
rt61pci.c rt2x00: Remove data_desc structure 2008-01-28 15:03:03 -08:00
rt61pci.h rt2x00: Remove data_desc structure 2008-01-28 15:03:03 -08:00
rt73usb.c rt2x00: Place mutex around USB register access 2008-01-28 15:03:03 -08:00
rt73usb.h rt2x00: Remove data_desc structure 2008-01-28 15:03:03 -08:00
rt2400pci.c rt2x00: Remove data_desc structure 2008-01-28 15:03:03 -08:00
rt2400pci.h rt2x00: Remove data_desc structure 2008-01-28 15:03:03 -08:00
rt2500pci.c rt2x00: Remove data_desc structure 2008-01-28 15:03:03 -08:00
rt2500pci.h rt2x00: Remove data_desc structure 2008-01-28 15:03:03 -08:00
rt2500usb.c rt2x00: Place mutex around USB register access 2008-01-28 15:03:03 -08:00
rt2500usb.h rt2x00: Remove data_desc structure 2008-01-28 15:03:03 -08:00