diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-02-17 22:16:35 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-02-17 22:16:35 +0000 |
commit | 9e750496c5e5750067b5c6d5ae0f93932882c048 (patch) | |
tree | a3b1e527d3ec8d8e62ee58bceb5268e70e03aab3 /sys/dev | |
parent | 570f63006f94faadcea5967d4cfefa407b834a5f (diff) |
Make sure we claim the interrupt as ours if the time out bit is set in the
interrupt status register. Fixes a problem with spurious interrupts on
the fuloong.
ok miod@
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ic/re.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/ic/re.c b/sys/dev/ic/re.c index 29069056e6f..64b152af1eb 100644 --- a/sys/dev/ic/re.c +++ b/sys/dev/ic/re.c @@ -1,4 +1,4 @@ -/* $OpenBSD: re.c,v 1.116 2009/11/24 17:40:43 kettenis Exp $ */ +/* $OpenBSD: re.c,v 1.117 2010/02/17 22:16:34 kettenis Exp $ */ /* $FreeBSD: if_re.c,v 1.31 2004/09/04 07:54:05 ru Exp $ */ /* * Copyright (c) 1997, 1998-2003 @@ -1602,6 +1602,9 @@ re_intr(void *arg) if (status) CSR_WRITE_2(sc, RL_ISR, status); + if (status & RL_ISR_TIMEOUT_EXPIRED) + claimed = 1; + if ((status & RL_INTRS_CPLUS) == 0) break; |