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