svn commit: r225509 - user/adrian/if_ath_tx/sys/dev/ath
Adrian Chadd
adrian at FreeBSD.org
Mon Sep 12 14:23:28 UTC 2011
Author: adrian
Date: Mon Sep 12 14:23:27 2011
New Revision: 225509
URL: http://svn.freebsd.org/changeset/base/225509
Log:
HAL_INT_GLOBAL needs to keep being set here so SWBA can fire appropriately whilst
the rest of the interrupts are disabled.
This constant rewriting of the interrupt mask/enable registers seems a bit
silly to me; I'll have to tidy it up at some point.
Linux just toggles AR_IER (global interrupt enable) on/off - but it
does deferred beacon processing, rather than doing it in interrupt
context like we do.
Modified:
user/adrian/if_ath_tx/sys/dev/ath/if_ath.c
Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Sep 12 14:21:06 2011 (r225508)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Sep 12 14:23:27 2011 (r225509)
@@ -1561,7 +1561,8 @@ ath_intr(void *arg)
* moment, always leave that enabled.
*/
if (sched == 1) {
- ath_hal_intrset(ah, (sc->sc_imask & HAL_INT_SWBA));
+ ath_hal_intrset(ah,
+ (sc->sc_imask & (HAL_INT_SWBA | HAL_INT_GLOBAL)));
taskqueue_enqueue_fast(sc->sc_tq, &sc->sc_intrtask);
}
}
More information about the svn-src-user
mailing list