From: bellard Date: Sun, 13 Nov 2005 21:53:15 +0000 (+0000) Subject: correct use of USBDEVFS_DISCONNECT X-Git-Tag: release_0_8_1~277 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=868bfe2b2ba2c6c7e6580ad35af85ad3fcb994bb;p=thirdparty%2Fqemu.git correct use of USBDEVFS_DISCONNECT git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1621 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/usb-linux.c b/usb-linux.c index cde94cd0a0a..216ac20f8ea 100644 --- a/usb-linux.c +++ b/usb-linux.c @@ -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