aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Copeland <me@bobcopeland.com>2009-02-15 12:06:09 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-02-27 14:52:36 -0500
commit0b6f582bd38783e14f67d4466923f587728b2438 (patch)
tree31188d878cd52df458d2b440e5adc51ec057b681
parent144d9ad98ef90072fd939e620f374d6918155a06 (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.c7
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.