If no kernel driver is active, we can already claim and perform I/O on it without detaching it.
Signed-off-by: linzhecheng <linzhech...@huawei.com> diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c index f31e9cbbb8..db4ae1e6e8 100644 --- a/hw/usb/host-libusb.c +++ b/hw/usb/host-libusb.c @@ -1119,6 +1119,10 @@ static void usb_host_detach_kernel(USBHostDevice *s) for (i = 0; i < USB_MAX_INTERFACES; i++) { rc = libusb_kernel_driver_active(s->dh, i); usb_host_libusb_error("libusb_kernel_driver_active", rc); + if (rc == 0) { + s->ifs[i].detached = true; + continue; + } if (rc != 1) { continue; } -- 2.12.2.windows.2