diff options
author | Pavel Roskin <proski@gnu.org> | 2010-02-23 18:15:27 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-03-09 15:03:06 -0500 |
commit | 74bad5cb497080514c4a945f38589bdb574fdfb7 (patch) | |
tree | 769baaf1d6c61e2a1d69eb2af19cd813415321c6 /drivers/net/wireless/ath/ath9k/hw.h | |
parent | b4d59a9317e41faec3d0b6a03f0454d1e8abb710 (diff) |
ath9k: never read from the AR_IMR_S2 register
The AR_IMR_S2 register sometimes cannot be read correctly. Instead of a
valid value, 0xdeadbeef is returned. The driver has been observed
writing that value back to AR_IMR_S2 after changing a few bits.
Cache the register value in ah->imrs2_reg and always write chached value
to the register.
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h index dbbf7ca5f97d..20d90268ce31 100644 --- a/drivers/net/wireless/ath/ath9k/hw.h +++ b/drivers/net/wireless/ath/ath9k/hw.h | |||
@@ -479,6 +479,7 @@ struct ath_hw { | |||
479 | 479 | ||
480 | int16_t curchan_rad_index; | 480 | int16_t curchan_rad_index; |
481 | u32 mask_reg; | 481 | u32 mask_reg; |
482 | u32 imrs2_reg; | ||
482 | u32 txok_interrupt_mask; | 483 | u32 txok_interrupt_mask; |
483 | u32 txerr_interrupt_mask; | 484 | u32 txerr_interrupt_mask; |
484 | u32 txdesc_interrupt_mask; | 485 | u32 txdesc_interrupt_mask; |