hi all: in iso_stream_schedule of ehci-sched.c, why we have to add the "-" in (-(++ehci->random_frame)) to calculate the start uframe? thanks for ur help in advance. if (stream->ps.phase == NO_FRAME) { int done = 0; struct ehci_tt *tt = find_tt(stream->ps.udev); if (IS_ERR(tt)) { status = PTR_ERR(tt); goto fail; } compute_tt_budget(ehci->tt_budget, tt); start = ((-(++ehci->random_frame)) << 3) & (period - 1); ^^ Here it is.