hi David: > Because the trb buffers can't cross a 64k physical address boundary. Is it only specific to iso scheduling or bulk also need to take care? from your kind explanation, the trb buffer for Bulk also need to take care crossing 64k physical boundary. But i don't find it for bulk transfer. Below is excerpted from xhci_queue_bulk_tx while (running_total < urb->transfer_buffer_length) { num_trbs++; running_total += TRB_MAX_BUFF_SIZE; } appreciate your kind help, -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html