Hi Bing, > In drivers/Bluetooth/btusb.c, function btusb_send_frame(), we call > > usb_fill_int_urb(urb, data->udev, pipe, > skb->data, skb->len, btusb_isoc_tx_complete, > skb, data->isoc_tx_ep->bInterval); > > in case HCI_SCODATA_PKT. The inline function usb_fill_int_urb will check USB_SPEED_HIGH or USB_SPEED_SUPER to assign different value to urb->interval. > > if (dev->speed == USB_SPEED_HIGH || dev->speed == USB_SPEED_SUPER) > urb->interval = 1 << (interval - 1); > else > urb->interval = interval; > > Shall we do the same check for btusb_submit_isoc_urb()? I honestly do not know. Maybe just using usb_fill_int_urb here might be a good idea. One is the TX and one is the RX URB. You need to go into the USB subsystem and see if it actually makes a different. However we should not handcode anything from the USB subsystem. We made that mistake before with hci_usb.c from the 2.4.x times and it was a valuable lesson learned on things not to do. Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html