diff --git a/src/system/kernel/arch/x86/arch_int.c b/src/system/kernel/arch/x86/arch_int.c index da8ba6817f..8e03767c99 100644 --- a/src/system/kernel/arch/x86/arch_int.c +++ b/src/system/kernel/arch/x86/arch_int.c @@ -384,13 +384,13 @@ i386_handle_trap(struct iframe frame) default: if (frame.vector >= ARCH_INTERRUPT_BASE) { - pic_end_of_interrupt(frame.vector); - // This is a workaround for spurious assertions of interrupts 7/15 // which seems to be an often seen problem on the PC platform if (pic_is_spurious_interrupt(frame.vector - ARCH_INTERRUPT_BASE)) break; + pic_end_of_interrupt(frame.vector); + ret = int_io_interrupt_handler(frame.vector - ARCH_INTERRUPT_BASE); } else { panic("i386_handle_trap: unhandled trap 0x%x (%s) at ip 0x%x, thread 0x%x!\n",