Kernel: Don't manually clear xHCI interrupt flag if using MSI

This commit is contained in:
Bananymous 2025-02-10 22:58:14 +02:00
parent 22b32a0fe5
commit 11310e7615
1 changed files with 2 additions and 1 deletions

View File

@ -536,7 +536,8 @@ namespace Kernel
void XHCIController::handle_irq()
{
auto& primary_interrupter = runtime_regs().irs[0];
primary_interrupter.iman = primary_interrupter.iman | XHCI::IMAN::InterruptPending | XHCI::IMAN::InterruptEnable;
if (m_pci_device.interrupt_mechanism() != PCI::Device::InterruptMechanism::MSI && m_pci_device.interrupt_mechanism() != PCI::Device::InterruptMechanism::MSIX)
primary_interrupter.iman = primary_interrupter.iman | XHCI::IMAN::InterruptPending | XHCI::IMAN::InterruptEnable;
auto& operational = operational_regs();
if (!(operational.usbsts & XHCI::USBSTS::EventInterrupt))