> -----Original Message-----
> From: Gerd Hoffmann [mailto:kra...@redhat.com]
> Sent: Tuesday, November 20, 2018 4:25 PM
> To: linzhecheng <linzhech...@huawei.com>
> Cc: qemu-devel@nongnu.org; Zhoujian (jay) <jianjay.z...@huawei.com>;
> wangxin (U) <wangxinxin.w...@huawei.com>
> Subject: Re: [PATCH] usb-host: set ifs.detached as true if kernel driver is
> not
> active
>
> On Tue, Nov 20, 2018 at 09:18:15AM +0800, linzhecheng wrote:
> > 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) {
>
> Can't we just add detached = true here?
Yes, it's better.
>
> > continue;
> > }
>
> cheers,
> Gerd