rt2x00: Fix BUG on rt2800usb when trying to read eFuse EEPROM.
Current tree hits a BUG_ON in rt2x00_regbusy_read, because the eFuse EEPROM reading code of rt2800lib uses the function without the csr_mutex locked. Fix this by locking the csr_mutex for the of the EEPROM reading cycly and using the _lock variants of the register reading and writing functions. This also introcudes the register_read_lock function pointer in the rt2800_ops structure. Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com> Acked-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
16475b095a
commit
31a4cf1f22
4 changed files with 27 additions and 10 deletions
|
@ -1089,6 +1089,7 @@ static int rt2800pci_validate_eeprom(struct rt2x00_dev *rt2x00dev)
|
|||
|
||||
static const struct rt2800_ops rt2800pci_rt2800_ops = {
|
||||
.register_read = rt2x00pci_register_read,
|
||||
.register_read_lock = rt2x00pci_register_read, /* same for PCI */
|
||||
.register_write = rt2x00pci_register_write,
|
||||
.register_write_lock = rt2x00pci_register_write, /* same for PCI */
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue