Fixed the last commit: after we have acknowledged the interrupt, the
interrupt service register bit is never set, anyway... Thanks to Korli for reporting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12801 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user