Hi,
I have a case in which the class layer has tx and rx urbs in sequence,
and the class layer expects the rx complete() should be called after
the tx complete() is called. But due to scheduling, I guess, sometimes
the tx complete() is called after rx_complete(), which confuses the
class layer.
So normal case is
- 1. submit tx/OUT urb;
- 2. submit rx/IN urb;
- 3. the device received the tx/OUT packet;
- 4. the device sent rx/IN packet;
- 5. tx complete() is called;
- 6. rx complete() is called;
But in failure case, step 5 & 6 are swapped.
Is this considered as a bug in the host controller driver, which
should guarantee the order of the sequence? Or it is a bug in the
class layer, which should not rely on the behavior in core and host
controller drivers?
Thanks,
-Bin.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html