order of rx/tx sequence

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux