Noboru Iwamatsu
2009-Apr-06 07:56 UTC
[Xen-devel] [PATCH] usbback: fix invalid urb->interval for highspeed interrupt endpoint
Hi,
Current usbback fails to submit the interrupt urb for high-speed
endpoints. This patch fixes this issue.
usb_fill_int_urb() is a helper function to initialize a interrupt urb,
and sets the usb->interval value as follows,
void usb_fill_int_urb(struct urb *urb, ..., int interval)
{
...
if (dev->speed == USB_SPEED_HIGH)
urb->interval = 1 << (interval - 1);
else
urb->interval = interval;
...
}
The interval value that usbback got from the RING_REQ is already
modified to an exponent of two.
So, usbback must not initialize a interrupt urb with double-modified
interval value.
Signed-off-by: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel