From 5c99f9668e5b13b593315cd875a47acbfe46482e Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Mon, 29 May 2023 15:47:22 -0400 Subject: [PATCH] XHCI: Disable MSI-X for now. Breaks USB on some hardware. This might be a bug in Haiku's MSI-X implementation. --- src/add-ons/kernel/busses/usb/xhci.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/busses/usb/xhci.cpp b/src/add-ons/kernel/busses/usb/xhci.cpp index bd1a84bc54..d4ce1016cb 100644 --- a/src/add-ons/kernel/busses/usb/xhci.cpp +++ b/src/add-ons/kernel/busses/usb/xhci.cpp @@ -501,6 +501,7 @@ XHCI::XHCI(pci_info *info, pci_device_module_info* pci, pci_device* device, Sta // Find the right interrupt vector, using MSIs if available. fIRQ = fPCIInfo->u.h0.interrupt_line; +#if 0 if (fPci->get_msix_count(fDevice) >= 1) { uint8 msiVector = 0; if (fPci->configure_msix(fDevice, 1, &msiVector) == B_OK @@ -509,7 +510,9 @@ XHCI::XHCI(pci_info *info, pci_device_module_info* pci, pci_device* device, Sta fIRQ = msiVector; fUseMSI = true; } - } else if (fPci->get_msi_count(fDevice) >= 1) { + } else +#endif + if (fPci->get_msi_count(fDevice) >= 1) { uint8 msiVector = 0; if (fPci->configure_msi(fDevice, 1, &msiVector) == B_OK && fPci->enable_msi(fDevice) == B_OK) {