USB serial device support
authorJason Wessel <jason.wessel@windriver.com>
Mon, 18 May 2009 15:00:28 +0000 (10:00 -0500)
committerAnthony Liguori <aliguori@us.ibm.com>
Fri, 22 May 2009 15:50:35 +0000 (10:50 -0500)
Add in a workaround to allow the usb serial devices to work with the
usb pass through mechanism.  The ioctl() to request an alternate
interface will always return < 0 for a usb-serial device based on the
kernel driver.  This means there is no alternate interface end point.

This was fully tested with a pl2303 usb serial device.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>

usb-linux.c

index 70d7a1c..67e4acd 100644 (file)
@@ -833,8 +833,7 @@ static int usb_linux_update_endp_table(USBHostDevice *s)
 
         ret = ioctl(s->fd, USBDEVFS_CONTROL, &ct);
         if (ret < 0) {
-            perror("usb_linux_update_endp_table");
-            return 1;
+            alt_interface = interface;
         }
 
         /* the current interface descriptor is the active interface