aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/hw.h
diff options
context:
space:
mode:
authorPavel Roskin <proski@gnu.org>2010-02-23 18:15:27 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-03-09 15:03:06 -0500
commit74bad5cb497080514c4a945f38589bdb574fdfb7 (patch)
tree769baaf1d6c61e2a1d69eb2af19cd813415321c6 /drivers/net/wireless/ath/ath9k/hw.h
parentb4d59a9317e41faec3d0b6a03f0454d1e8abb710 (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.h1
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;