summaryrefslogtreecommitdiffstats
path: root/sys/dev/ath
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2004-04-02 23:49:15 +0000
committersam <sam@FreeBSD.org>2004-04-02 23:49:15 +0000
commit055dd66470d456f82466bb43813e141009d15f82 (patch)
tree86d881f4b9e3b44f2449cb019db996bd4939219d /sys/dev/ath
parent17ec9b5d0701f31e4ce2ce8dd39a94cc05834342 (diff)
downloadFreeBSD-src-055dd66470d456f82466bb43813e141009d15f82.zip
FreeBSD-src-055dd66470d456f82466bb43813e141009d15f82.tar.gz
check more quickly (and directly) if an interrupt is pending; this reduces
work done in ath_intr when the irq is shared Obtained from: madwifi
Diffstat (limited to 'sys/dev/ath')
-rw-r--r--sys/dev/ath/if_ath.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c
index 8f2cc85..1fa4dce 100644
--- a/sys/dev/ath/if_ath.c
+++ b/sys/dev/ath/if_ath.c
@@ -434,6 +434,8 @@ ath_intr(void *arg)
DPRINTF(ATH_DEBUG_ANY, ("%s: invalid; ignored\n", __func__));
return;
}
+ if (!ath_hal_intrpend(ah)) /* shared irq, not for us */
+ return;
if ((ifp->if_flags & (IFF_RUNNING|IFF_UP)) != (IFF_RUNNING|IFF_UP)) {
DPRINTF(ATH_DEBUG_ANY, ("%s: if_flags 0x%x\n",
__func__, ifp->if_flags));
OpenPOWER on IntegriCloud