}
clock &= mod - 1;
clock_frame = clock >> 3;
- ++ehci->periodic_stamp;
for (;;) {
union ehci_shadow q, *q_p;
temp.qh = qh_get (q.qh);
type = Q_NEXT_TYPE(ehci, q.qh->hw->hw_next);
q = q.qh->qh_next;
- if (temp.qh->stamp != ehci->periodic_stamp) {
- modified = qh_completions(ehci, temp.qh);
- if (!modified)
- temp.qh->stamp = ehci->periodic_stamp;
- if (unlikely(list_empty(&temp.qh->qtd_list) ||
- temp.qh->needs_rescan))
- intr_deschedule(ehci, temp.qh);
- }
+ modified = qh_completions (ehci, temp.qh);
+ if (unlikely(list_empty(&temp.qh->qtd_list) ||
+ temp.qh->needs_rescan))
+ intr_deschedule (ehci, temp.qh);
qh_put (temp.qh);
break;
case Q_TYPE_FSTN:
free_cached_lists(ehci);
ehci->clock_frame = clock_frame;
}
- ++ehci->periodic_stamp;
} else {
now_uframe++;
now_uframe &= mod - 1;