Commit 7f9e1ee0 authored by Marcel Holtmann's avatar Marcel Holtmann

[Bluetooth] Initialize interval of ISOC URB's

The urb->interval value must be set when submitting an ISOC URB. If this
is not done, the usb_submit_urb() call fails.

Patch from Andreas Kemnade <akemnade@informatik.uni-bremen.de>
parent bc4b9adb
...@@ -264,6 +264,8 @@ static int hci_usb_isoc_rx_submit(struct hci_usb *husb) ...@@ -264,6 +264,8 @@ static int hci_usb_isoc_rx_submit(struct hci_usb *husb)
urb->pipe = usb_rcvisocpipe(husb->udev, husb->isoc_in_ep->desc.bEndpointAddress); urb->pipe = usb_rcvisocpipe(husb->udev, husb->isoc_in_ep->desc.bEndpointAddress);
urb->complete = hci_usb_rx_complete; urb->complete = hci_usb_rx_complete;
urb->interval = husb->isoc_in_ep->desc.bInterval;
urb->transfer_buffer_length = size; urb->transfer_buffer_length = size;
urb->transfer_buffer = buf; urb->transfer_buffer = buf;
urb->transfer_flags = URB_ISO_ASAP; urb->transfer_flags = URB_ISO_ASAP;
...@@ -492,6 +494,8 @@ static inline int hci_usb_send_isoc(struct hci_usb *husb, struct sk_buff *skb) ...@@ -492,6 +494,8 @@ static inline int hci_usb_send_isoc(struct hci_usb *husb, struct sk_buff *skb)
urb->complete = hci_usb_tx_complete; urb->complete = hci_usb_tx_complete;
urb->transfer_flags = URB_ISO_ASAP; urb->transfer_flags = URB_ISO_ASAP;
urb->interval = husb->isoc_out_ep->desc.bInterval;
urb->transfer_buffer = skb->data; urb->transfer_buffer = skb->data;
urb->transfer_buffer_length = skb->len; urb->transfer_buffer_length = skb->len;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment