Hi Sarah, > I see from Documention/PCI/MSI-HOWTO.txt that pci_enable_msix() can > return less than xhci->msix_count, if the PCI core could only enable a > certain number of MSIs. Why not set xhci->msix_count to that returned > number and continue on with a few less MSIs than the driver requested? We can add the case when pci_enable_msix() returns greater than zero so we can enable a certain number of vectors. The current msi-x patch already checked for number of requests msi vectors based on CPU cores or HCSPARAMS1 of msi-x capability. > You have a bug if request_irq() fails for an MSI where. xhci_free_irq() > will call free_irq() for a vector that was never allocated. Set > xhci->msix_count to (i - 1) before jumping to disable_msix. The xhci_free_irq calls free_irq for valid requested msi-x vectors only. The msi-x entries store the valid vectors in the array and we check the msi-x vectors before calling free_irq. Thanks, Dong -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html