Подскажите пожалуйста по логике работы с трансфер дескрипторами в USB OHCI. Имеется девайс, у которого кроме EP0 есть еще Bulk IN EP81 и Bulk OUT EP1. Весть трафик идет только по Bulk конечным точкам.
Я формирую связанный список из двух дескрипторов конечных точек. Далее по мере появления транзакций на чтение и запись ставлю TD в очередь соответствующего ED и хост их обрабатывает.
А как правильно потом обрабатывать завершение этих транзакций? Что делать с теми которые завершились с ошибкой? Удалять их из списка ED или хост их сам убрал? Если транзакция на чтение долго не завершается т.к. нет данных в девайсе для передачи, мне нужно самому убрать ее по таймауту? Если хост не завершил транзакцию на чтение, будет ли он обрабатывать транзакцию на запись по другой конечной точке?
|