Kernel: Handle real IRQs from line 7 when using the PIC

If we have a real IRQ7 to handle, let's make sure the handler knows to
check if it really occured for this value and not only for IRQ15.
This commit is contained in:
Liav A 2021-03-22 21:05:39 +02:00 committed by Andreas Kling
parent b25f84daaa
commit fe761e7412
Notes: sideshowbarker 2024-07-18 21:07:15 +09:00

View File

@ -70,7 +70,7 @@ SpuriousInterruptHandler::~SpuriousInterruptHandler()
void SpuriousInterruptHandler::handle_interrupt(const RegisterState& state)
{
// Actually check if IRQ7 or IRQ15 are spurious, and if not, call the real handler to handle the IRQ.
if (m_responsible_irq_controller->get_isr() & (1 << 15)) {
if (m_responsible_irq_controller->get_isr() & (1 << interrupt_number())) {
m_real_irq = true; // remember that we had a real IRQ, when EOI later!
m_real_handler->increment_invoking_counter();
m_real_handler->handle_interrupt(state);