diff --git a/kaleid/kernel/ke/idt.c b/kaleid/kernel/ke/idt.c index 68d5e23..23d881b 100644 --- a/kaleid/kernel/ke/idt.c +++ b/kaleid/kernel/ke/idt.c @@ -320,7 +320,7 @@ void _KeHandleISR(ISRFrame_t *regs) return; // INTEL RESERVED // Spurious interrupt handling. - if (!(KeGetIrqRegister(0x0b) & (1<<(regs->intNo - 0x20)))) { + if (regs->intNo > 0x20 && !(KeGetIrqRegister(0x0b) & (1<<(regs->intNo - 0x20)))) { KeSpuriousCount++; return; }