correct use of USBDEVFS_DISCONNECT
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 13 Nov 2005 21:53:15 +0000 (21:53 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 13 Nov 2005 21:53:15 +0000 (21:53 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1621 c046a42c-6fe2-441c-8c8c-71466251a162

usb-linux.c

index cde94cd..216ac20 100644 (file)
@@ -181,10 +181,15 @@ USBDevice *usb_host_device_open(const char *devname)
 
 #ifdef USBDEVFS_DISCONNECT
     /* earlier Linux 2.4 do not support that */
-    ret = ioctl(fd, USBDEVFS_DISCONNECT);
-    if (ret < 0 && errno != ENODATA) {
-        perror("USBDEVFS_DISCONNECT");
-        goto fail;
+    {
+        struct usbdevfs_ioctl ctrl;
+        ctrl.ioctl_code = USBDEVFS_DISCONNECT;
+        ctrl.ifno = 0;
+        ret = ioctl(fd, USBDEVFS_IOCTL, &ctrl);
+        if (ret < 0 && errno != ENODATA) {
+            perror("USBDEVFS_DISCONNECT");
+            goto fail;
+        }
     }
 #endif