correct use of USBDEVFS_DISCONNECT

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1621 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard 2005-11-13 21:53:15 +00:00
parent 9e61bde56a
commit 868bfe2b2b
1 changed files with 9 additions and 4 deletions

View 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