summaryrefslogtreecommitdiffstats
path: root/sys/arm/xscale/i8134x
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2009-06-09 18:18:41 +0000
committermarcel <marcel@FreeBSD.org>2009-06-09 18:18:41 +0000
commit898dda825cfcffcc2b924756406dffce9cf7e252 (patch)
treee846e3361c689dff739f93bdcff26f51b315917d /sys/arm/xscale/i8134x
parent6550c66aa23e544ae0721ff433e77661cc5c4098 (diff)
downloadFreeBSD-src-898dda825cfcffcc2b924756406dffce9cf7e252.zip
FreeBSD-src-898dda825cfcffcc2b924756406dffce9cf7e252.tar.gz
Pass the previously returned IRQ back to arm_get_next_irq() so that
the implementation can guarantee forward progress in the event of a stuck interrupt or interrupt storm. This is especially critical for fast interrupt handlers, as they can cause a hard hang in that case. When first called, arm_get_next_irq() is passed -1. Obtained from: Juniper Networks, Inc.
Diffstat (limited to 'sys/arm/xscale/i8134x')
-rw-r--r--sys/arm/xscale/i8134x/i81342.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/arm/xscale/i8134x/i81342.c b/sys/arm/xscale/i8134x/i81342.c
index 072685b..2d8783e 100644
--- a/sys/arm/xscale/i8134x/i81342.c
+++ b/sys/arm/xscale/i8134x/i81342.c
@@ -295,7 +295,7 @@ arm_unmask_irq(uintptr_t nb)
}
int
-arm_get_next_irq(void)
+arm_get_next_irq(int last __unused)
{
uint32_t val;
val = intpnd0_read() & intr_enabled0;
OpenPOWER on IntegriCloud