Kernel: Remove the enabled concept of IRQ handlers

An IRQ handler should always be ready to respond to any IRQ.
We must remember that hardware can generate IRQs without any interaction
from our code at all. Ignoring IRQs in such cases is obviously not the
right thing to do.
This commit is contained in:
Liav A 2020-08-28 00:30:06 +03:00 committed by Andreas Kling
parent a431108ab6
commit ab87d42200
Notes: sideshowbarker 2024-07-19 03:05:05 +09:00
2 changed files with 2 additions and 8 deletions

View File

@ -48,8 +48,6 @@ public:
u8 interrupt_number() const { return m_interrupt_number; }
bool is_enabled() const { return m_enabled; }
size_t get_invoking_count() const { return m_invoking_count; }
virtual size_t sharing_devices_count() const = 0;
@ -69,7 +67,6 @@ protected:
private:
size_t m_invoking_count { 0 };
bool m_enabled { false };
u8 m_interrupt_number { 0 };
bool m_disable_remap { false };
};

View File

@ -98,11 +98,8 @@ void SharedIRQHandler::handle_interrupt(const RegisterState& regs)
dbg() << "Going for Interrupt Handling @ " << i << ", Shared Interrupt " << interrupt_number();
#endif
ASSERT(handler != nullptr);
if (handler->is_enabled()) {
handler->increment_invoking_counter();
handler->handle_interrupt(regs);
}
handler->increment_invoking_counter();
handler->handle_interrupt(regs);
#ifdef INTERRUPT_DEBUG
dbg() << "Going for Interrupt Handling @ " << i << ", Shared Interrupt " << interrupt_number() << " - End";
#endif