changeset 1695:9cfc85f8523f

* src/var_intr.c (hal_extended_isr): Only need to check bits 1 to 14. Fix for bug #1000106.
author jlarmour
date Fri, 30 Jul 2004 23:42:15 +0000
parents 5629b7c30ed2
children 42c0adb7b2fc
files packages/hal/mips/idt32334/current/ChangeLog packages/hal/mips/idt32334/current/src/var_intr.c
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/packages/hal/mips/idt32334/current/ChangeLog
+++ b/packages/hal/mips/idt32334/current/ChangeLog
@@ -1,3 +1,8 @@
+2004-07-31  Jonathan Larmour  <jifl@eCosCentric.com>
+
+	* src/var_intr.c (hal_extended_isr): Only need to check bits 1 to 14.
+	Fix for bug #1000106.
+
 2004-04-22  Jani Monoses <jani@iv.ro>
 
 	 * cdl/hal_mips_idt32334.cdl :
--- a/packages/hal/mips/idt32334/current/src/var_intr.c
+++ b/packages/hal/mips/idt32334/current/src/var_intr.c
@@ -189,7 +189,9 @@ hal_extended_isr(CYG_ADDRWORD vector, CY
     
     HAL_READ_UINT32 (INTR_STATUS_PTR, pendingIsr);
 
-    for (isrNum=0; isrNum <=31; isrNum++)
+    // Although we could check 32-bits of the register, according
+    // to the IDT32334 docs, only bits 1 to 14 are actually used.
+    for (isrNum=1; isrNum <=14; isrNum++)
         if ( (1 << isrNum) & pendingIsr)
             break;