From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Ahern Subject: Re: USB EHCI patch for 0.14.0? Date: Mon, 11 Apr 2011 07:23:26 -0600 Message-ID: <4DA300CE.8070606@cisco.com> References: <0NZZCL-1Py46m2UCX-0000eH@icpu525.kundenserver.de> <4D7A4CD2.8070003@rdsoftware.de> <4D7A5423.7020305@rdsoftware.de> <4D7A57B8.3010706@cisco.com> <4D7A5C7D.5030009@cisco.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Erik Rull , Markus Armbruster , "kvm@vger.kernel.org" To: ya su Return-path: Received: from sj-iport-3.cisco.com ([171.71.176.72]:64955 "EHLO sj-iport-3.cisco.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751370Ab1DKNXf (ORCPT ); Mon, 11 Apr 2011 09:23:35 -0400 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On 04/11/11 03:40, ya su wrote: > David: > > I have applied the patch to 0.14.0, and there is a bug if I add a > optiarc CRRWDVD CRX890A usb device on windows xp, I first comment out > the following code in usb-linux.c: > > if (is_halted(s, p->devep)) { > ret = ioctl(s->fd, USBDEVFS_CLEAR_HALT, &urb->endpoint); > #if 0 > if (ret < 0) { > DPRINTF("husb: failed to clear halt. ep 0x%x errno %d\n", > urb->endpoint, errno); > return USB_RET_NAK; > } > #endif > clear_halt(s, p->devep); > } > > then it can continue to run in linux, but still stall on windows > xp and win7. I turn on debug, part of the output is as the following: The EHCI code is very rough and needs someone to step up and finish it. It seems to work ok for USB storage devices (keys and drives), and seems to work fine with printers and scanners (at least it works with mine ;-)). I see stalls from time to time, but it recovers and continues on. Clearly some touchups are needed. On the other end it is known not to work with any audio and video devices (webcams, iphones). Something like the DVD I have no idea - never tried. I lost momentum on the code last August and have not been able to get back to it for a variety of reasons. It really needs someone to pick it up and continue - or look at adding xhci code which might be a better solution for virtualization. David