Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Sep 2011 14:23:28 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r225509 - user/adrian/if_ath_tx/sys/dev/ath
Message-ID:  <201109121423.p8CENSJo029616@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 	}
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201109121423.p8CENSJo029616>