From fdd758d4d1508f2e58a31f488f4ec63d37969247 Mon Sep 17 00:00:00 2001 From: Sam Leffler Date: Fri, 2 Apr 2004 23:49:15 +0000 Subject: 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 --- sys/dev/ath/if_ath.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sys') diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index 8f2cc8527f96..1fa4dce8a8c8 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)); -- cgit v1.3