When passing through all eight PCIe functions of a MCS9990 PCIe USB 
multifunction 1.0/2.0 controller on a PowerNV POWER9 host using qemu, the guest 
fails to launch:

qemu-system-ppc64: -device vfio-pci,host=0031:01:00.1,bus=bridge-1,addr=00.1: 
vfio 0031:01:00.1: Failed to set up TRIGGER eventfd signaling for interrupt 
INTX-0: VFIO_DEVICE_SET_IRQS failure: Device or resource busy

If I instead pass through only one function, or only pass through odd functions 
(the EHCI controller set), I get the following errors in the guest:

[    0.886625] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, 
bcdDevice= 6.18
[    0.886710] usb usb1: New USB device strings: Mfr=3, Product=2, 
SerialNumber=1
[    0.886791] usb usb1: Product: EHCI Host Controller
[    0.886845] usb usb1: Manufacturer: Linux 6.18.38 ehci_hcd
[    0.886902] usb usb1: SerialNumber: 0000:01:00.0
[    1.142469] usb 1-1: new high-speed USB device number 2 using ehci-pci
[    6.530490] usb 1-1: device descriptor read/64, error -110
[   22.147501] usb 1-1: device descriptor read/64, error -110
[   22.371536] usb 1-1: new high-speed USB device number 3 using ehci-pci
[   27.526896] usb 1-1: device descriptor read/64, error -110
[   43.141934] usb 1-1: device descriptor read/64, error -110
[   43.245985] usb usb1-port1: attempt power cycle
[   43.638173] usb 1-1: new high-speed USB device number 4 using ehci-pci
[   54.491254] usb 1-1: device not accepting address 4, error -110
[   54.611274] usb 1-1: new high-speed USB device number 5 using ehci-pci

If I reboot the guest, SLOF fails as follows:

Scanning USB
  EHCI: Initializing
usb-ehci: reset failed
usb-ehci: control transfer timed out_
usb-ehci: unable to setup device on port 0

Note that this card works perfectly on the host kernel.

Reply via email to