static void uhci_async_cancel(UHCIAsync *async)
{
+ uhci_async_unlink(async);
trace_usb_uhci_packet_cancel(async->queue->token, async->td, async->done);
if (!async->done)
usb_cancel_packet(&async->packet);
}
while (!QTAILQ_EMPTY(&queue->asyncs)) {
async = QTAILQ_FIRST(&queue->asyncs);
- uhci_async_unlink(async);
uhci_async_cancel(async);
}
uhci_queue_free(queue);
curr->packet.ep->dev != dev) {
continue;
}
- uhci_async_unlink(curr);
uhci_async_cancel(curr);
}
}
QTAILQ_FOREACH_SAFE(queue, &s->queues, next, nq) {
QTAILQ_FOREACH_SAFE(curr, &queue->asyncs, next, n) {
- uhci_async_unlink(curr);
uhci_async_cancel(curr);
}
uhci_queue_free(queue);