[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] anyone using pvusb?



Hi James,

I am wondering if maybe it is just a quirk of that model or something
that the first usb packet that gets sent times out or something and
needs to be unlinked. When I look at what happens under Linux, the
frontend tries to unlink it but fails. Is it normally the hcd or the
device driver that is responsible for maintaining timeouts and retrying
etc?

HCD's urb_dequeue() function that is called from hcd_unlink_urb()
has to be responsible for dequeueing the urb from the actual HCD
hardware and giving back the urb within the next time of the HCD
hardware interrupt.

If no urb returns for a given length of time after usbcore or
device drivers unlinked the urb, they might identify the HCD as broken.

About the PVUSB's implementation of urb_dequeue(), it's incomplete.

usbfront can only dequeue the urb that is in the frontend, and cannot
dequeue the urb already transferred to the backend.

So, if the device goes into stalled state in the backend (probably
triggered from wrong urb), The frontend can do nothing.

I think main cause of the flash drive failure is the above wrong urb,
but I will solve the urb-canceling issue too.

Thanks,
Noboru.




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.