Procházet zdrojové kódy

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.
Liav A před 4 roky
rodič
revize
fe761e7412
1 změnil soubory, kde provedl 1 přidání a 1 odebrání
  1. 1 1
      Kernel/Interrupts/SpuriousInterruptHandler.cpp

+ 1 - 1
Kernel/Interrupts/SpuriousInterruptHandler.cpp

@@ -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);