summaryrefslogtreecommitdiffstats
path: root/arch/mips/sgi-ip32/ip32-irq.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-07-03 11:37:19 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-03 11:37:19 -0700
commit97055a915720fe1aff9ac71c17fae60e929d4ed6 (patch)
treed0ee48805cbec19b760a2ce9702bf3c3bc8bb8ce /arch/mips/sgi-ip32/ip32-irq.c
parentee3ece830f6db9837f7ac67008f532a8c1e755f4 (diff)
parent8986d2f50e1a9ba63f64ccbf59181886aa7898c3 (diff)
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] cevt-txx9: Reset timer counter on initialization [MIPS] IP22: Fix crashes due to wrong L1_CACHE_BYTES [MIPS] IP32: Fix unexpected irq 71
Diffstat (limited to 'arch/mips/sgi-ip32/ip32-irq.c')
-rw-r--r--arch/mips/sgi-ip32/ip32-irq.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/mips/sgi-ip32/ip32-irq.c b/arch/mips/sgi-ip32/ip32-irq.c
index b0ea0e43ba4..0d6b6663d5f 100644
--- a/arch/mips/sgi-ip32/ip32-irq.c
+++ b/arch/mips/sgi-ip32/ip32-irq.c
@@ -425,6 +425,11 @@ static void ip32_irq0(void)
BUILD_BUG_ON(MACEISA_SERIAL2_RDMAOR_IRQ - MACEISA_AUDIO_SW_IRQ != 31);
crime_int = crime->istat & crime_mask;
+
+ /* crime sometime delivers spurious interrupts, ignore them */
+ if (unlikely(crime_int == 0))
+ return;
+
irq = MACE_VID_IN1_IRQ + __ffs(crime_int);
if (crime_int & CRIME_MACEISA_INT_MASK) {