diff options
author | Bob Copeland <me@bobcopeland.com> | 2009-02-15 12:06:09 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-02-27 14:52:36 -0500 |
commit | 0b6f582bd38783e14f67d4466923f587728b2438 (patch) | |
tree | 31188d878cd52df458d2b440e5adc51ec057b681 | |
parent | 144d9ad98ef90072fd939e620f374d6918155a06 (diff) |
ath5k: don't mask off interrupt bits
Since interrupts are already masked by the hardware, there's no need to
discard interrupt bits in the ISR itself. Also, in ath5k_beacon_config
we mask off a couple of bits without locking, so doing this mask in
software can lead to unhandled beacon timer and beacon miss interrupts.
Changes-licensed-under: 3-Clause-BSD
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath5k/base.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c index 6837ca9f3831..d930c10a7e52 100644 --- a/drivers/net/wireless/ath5k/base.c +++ b/drivers/net/wireless/ath5k/base.c | |||
@@ -2408,16 +2408,9 @@ ath5k_intr(int irq, void *dev_id) | |||
2408 | return IRQ_NONE; | 2408 | return IRQ_NONE; |
2409 | 2409 | ||
2410 | do { | 2410 | do { |
2411 | /* | ||
2412 | * Figure out the reason(s) for the interrupt. Note | ||
2413 | * that get_isr returns a pseudo-ISR that may include | ||
2414 | * bits we haven't explicitly enabled so we mask the | ||
2415 | * value to insure we only process bits we requested. | ||
2416 | */ | ||
2417 | ath5k_hw_get_isr(ah, &status); /* NB: clears IRQ too */ | 2411 | ath5k_hw_get_isr(ah, &status); /* NB: clears IRQ too */ |
2418 | ATH5K_DBG(sc, ATH5K_DEBUG_INTR, "status 0x%x/0x%x\n", | 2412 | ATH5K_DBG(sc, ATH5K_DEBUG_INTR, "status 0x%x/0x%x\n", |
2419 | status, sc->imask); | 2413 | status, sc->imask); |
2420 | status &= sc->imask; /* discard unasked for bits */ | ||
2421 | if (unlikely(status & AR5K_INT_FATAL)) { | 2414 | if (unlikely(status & AR5K_INT_FATAL)) { |
2422 | /* | 2415 | /* |
2423 | * Fatal errors are unrecoverable. | 2416 | * Fatal errors are unrecoverable. |