0
votes

I am developing small USB driver in linux kernel, my device has two bulk endpoints (IN and OUT).

I have two URB (assume) urb A and urb B . I have submitted many receive request from URB A, after some time i am sending a command to device using usb_bulk_msg() and submitting receive request from URB B.

The problem is i always receive all the reply from URB A.

My question how to receive a reply from particular URB.

Is it possible to maintain many different URB for single ENdpoint in USB?

Thank you

1

1 Answers

1
votes

When you submit multiple URBs for a single endpoint, they are put into a queue, and the first data transfer will be handled by the first submitted URB.

If you receive different kinds of data, all the URB's completion handlers must check the actual data.