On 08/11/2014 03:59 PM, Gonglei (Arei) wrote: > Hi, > >> Subject: [Qemu-devel] USB PCI host bus adapter hot plug >> >> Hi! >> >> I noticed that QMP's "device_add usb-ehci,id=i2,bus=pci.0" fails on PCI >> hotplug. The same for pci-ohci and this is because their initfn() do >> "dc->hotpluggable = false". So I removed those and now I can hotplug USB >> hosts but none of them is able to actually work: >> >> root@aiktest-le:~# echo 1 >/sys/bus/pci/rescan >> [ 41.143062] ohci-pci 0000:00:01.0: init err (c8700000 0000) >> [ 41.143133] ohci-pci 0000:00:01.0: can't start >> [ 41.143227] ohci-pci 0000:00:01.0: startup error -75 >> [ 41.144202] ohci-pci 0000:00:01.0: init 0000:00:01.0 fail, -75 >> >> >> root@aiktest-le:~# echo 1 >/sys/bus/pci/rescan >> [ 43.691067] ehci-pci 0000:00:01.0: can't setup: -110 >> [ 43.692424] ehci-pci 0000:00:01.0: init 0000:00:01.0 fail, -110 >> >> >> Why is that? Is QEMU just missing some bits or there is some fundamental >> issue which I just do not see? Thanks! >> > Cc'ing Gerd. > > Actually I have post a patch serials for supporting usb host adapter > hotplugging, > Which has been involved in Gerd's (the USB mantainer) usb-next tree. Please > see: > https://www.kraxel.org/cgit/qemu/log/?h=rebase/usb-next > > The function of usb host adapter hotplugging is ok. You are welcome to test > it.
It does not work for me though. The device appears in the system but the driver fails to bring it up: [root@localhost ~]# echo 1 >/sys/bus/pci/rescan [ 43.482378] pci 0000:00:01.0: BAR 0: assigned [mem 0x100a0000000-0x100a0000fff] [ 43.488851] ehci-pci 0000:00:01.0: EHCI Host Controller [ 43.490153] ehci-pci 0000:00:01.0: new USB bus registered, assigned bus number 1 [ 43.504957] ehci-pci 0000:00:01.0: can't setup: -110 [ 43.505028] ehci-pci 0000:00:01.0: USB bus 1 deregistered [ 43.507660] ehci-pci 0000:00:01.0: init 0000:00:01.0 fail, -110 [ 43.507808] ehci-pci: probe of 0000:00:01.0 failed with error -110 > BTW, What's your guest os type? Fedora20/ppc64 or Ubuntu14/ppc64le. I tried your tree merged with https://github.com/mdroth/qemu/tree/spapr-pci-hotplug-ppc-next-cleanup2 I am adding PCIhotplug-on-PPC experts to the thread, may be they have ideas... -- Alexey