[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] usbback: fix urb interval value for interrupt urbs.
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1239022280 -3600 # Node ID 950b9eb2766128f85adf52d5aabcd15eb8c77dc0 # Parent 711e402bc1419368b6342d380dfc50940b867cbe usbback: fix urb interval value for interrupt urbs. Signed-off-by: Noboru Iwamatsu <n_iwamatsu@xxxxxxxxxxxxxx> --- drivers/xen/usbback/usbback.c | 12 ++++++++++++ 1 files changed, 12 insertions(+) diff -r 711e402bc141 -r 950b9eb27661 drivers/xen/usbback/usbback.c --- a/drivers/xen/usbback/usbback.c Mon Apr 06 13:48:03 2009 +0100 +++ b/drivers/xen/usbback/usbback.c Mon Apr 06 13:51:20 2009 +0100 @@ -470,6 +470,18 @@ static void usbbk_init_urb(usbif_request pending_req->buffer, req->buffer_length, usbbk_urb_complete, pending_req, req->u.intr.interval); + /* + * high speed interrupt endpoints use a logarithmic encoding of + * the endpoint interval, and usb_fill_int_urb() initializes a + * interrupt urb with the encoded interval value. + * + * req->u.intr.interval is the interval value that already + * encoded in the frontend part, and the above usb_fill_int_urb() + * initializes the urb->interval with double encoded value. + * + * so, simply overwrite the urb->interval with original value. + */ + urb->interval = req->u.intr.interval; urb->transfer_flags = req->transfer_flags; break; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |