我在linux内核中开发小型USB驱动程序,我的设备有两个批量端点(IN和OUT)。
我有两个URB(假设)urb A和urb B.我已经提交了很多来自URB A的接收请求,经过一段时间我使用usb_bulk_msg()向设备发送命令并从URB B提交接收请求。
问题是我总是收到URB A的所有答复。
我的问题是如何收到特定URB的回复。
是否可以为USB中的单个ENdpoint维护许多不同的URB?
谢谢
答案 0 :(得分:1)
当您为单个端点提交多个URB时,它们将被放入队列,第一个数据传输将由第一个提交的URB处理。
如果您收到不同类型的数据,所有URB的完成处理程序必须检查实际数据。