diff -Nur linux-2.6.17/arch/mips/aruba/irq.c linux-2.6.17-openwrt/arch/mips/aruba/irq.c
--- linux-2.6.17/arch/mips/aruba/irq.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.17-openwrt/arch/mips/aruba/irq.c 2006-10-12 14:32:40.026285000 -0700
-@@ -0,0 +1,282 @@
+@@ -0,0 +1,285 @@
+#include <linux/errno.h>
+#include <linux/init.h>
+#include <linux/kernel_stat.h>
+ int ip = irq - GROUP0_IRQ_BASE;
+ switch (mips_machtype) {
+ case MACH_ARUBA_AP70:
++ if (irq >= GROUP4_IRQ_BASE)
++ idt_gpio->gpioistat &= ~(1 << (irq - GROUP4_IRQ_BASE));
++
+ // irqs are in groups of 32
+ // ip is set to the remainder
+ group = ip >> 5;