多个批量URB在USB LINUX中接收特定URB的数据

时间:2013-11-21 11:58:27

标签: linux linux-kernel linux-device-driver usb-drive

我在linux内核中开发小型USB驱动程序,我的设备有两个批量端点(IN和OUT)。

我有两个URB(假设)urb A和urb B.我已经提交了很多来自URB A的接收请求,经过一段时间我使用usb_bulk_msg()向设备发送命令并从URB B提交接收请求。

问题是我总是收到URB A的所有答复。

我的问题是如何收到特定URB的回复。

是否可以为USB中的单个ENdpoint维护许多不同的URB?

谢谢

1 个答案:

答案 0 :(得分:1)

当您为单个端点提交多个URB时,它们将被放入队列,第一个数据传输将由第一个提交的URB处理。

如果您收到不同类型的数据,所有URB的完成处理程序必须检查实际数据。