if (entry.irr) {
/* Make sure the trigger mode is set to level. */
if (!entry.trigger) {
+ entry = __ioapic_read_entry(apic, pin, false);
entry.trigger = 1;
- __ioapic_write_entry(apic, pin, true, entry);
+ __ioapic_write_entry(apic, pin, false, entry);
}
__io_apic_eoi(apic, entry.vector, pin);
}
*/
memset(&entry, 0, sizeof(entry));
entry.mask = 1;
- __ioapic_write_entry(apic, pin, true, entry);
+ __ioapic_write_entry(apic, pin, false, entry);
entry = __ioapic_read_entry(apic, pin, true);
if (entry.irr)