On Thu, 27 Aug 2009, Julie Zhu wrote: > > What do you mean by "constantly"? scan_periodic should be called only > > when an interrupt occurs, which should be only when one of those 2 > URBs > > completes. Therefore scan_periodic should be called only twice. > > > > Because the HS hub (FS hub also, although tests pass through FS hubs) is > connected to the host controller, therefore, periodic schedule is > enabled all the time. That is why scan_periodic is called constantly. I > think it comes from ehci_work(). You can prevent this from happening so often by commenting out the line in ehci_watchdog() where it calls ehci_work(). > I do see that scan_periodic() updates now_uframe, and my prints (which > messed up all the timing therefore not much use) show that with HS hub, > often now_uframe is incremented over clock, at the end of the procedure, > inside else: You left out some important code: if (now_uframe == clock) { ... > } else { > now_uframe++; /* this one sometimes pass over > clock without round up happening*/ > now_uframe %= mod; > } > } /* end of for(;;) */ > } /* end of scan_periodic() */ So I don't see how this can cause now_uframe to pass over clock. > If that is true (which I will verify), then scan_periodic could scan > ahead of frame index. The potential reason for this to happen could be > the interrupt from HS hub transfers, which hardware trace showed that > the submitted sitd's are interrupted by HS hub interrupt, and missing I don't understand. Are you talking about the URB for the hub's interrupt-IN endpoint? Do you mean that completion of this URB is somehow interfering with scan_periodic()? > sitd's happened afterwards. Although, at this point, we are not sure why > it is so. > > > > I wonder whether the test setting is correct? > > > > What test setting? > > > The test setting of submitting 50 packets a time. I do not see anything > is incorrect. Since it works with a regular EHCI controller, it probably is correct. Alan Stern -- 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