On Wed, 26 Aug 2009, Julie Zhu wrote: > Hardware trace shows that only part of the submitted sitd's are in there > when hardware going through the periodic frame list (and they all go > onto the bus), If the hardware doesn't see all of the submitted sitd's in the periodic list then how can it send all of them over the bus? > however, software saw all 100 submitted sitd's being > completed, and part of the completed sitd's have their active bit set. Are you sure that all the sitd's are added to the frame list quickly enough? If an sitd is added to a frame after the controller has already started processing that frame then the sitd won't get executed. > This only happens when an HS hub is between the host controller and the > FS iso device (and scan_periodic is called all the time). What makes it > difficult is that printing in the code changed all the timing, and seems > not telling the situation I am debugging for. I do suspect that > scan_periodic() is updating counters too fast (without proof yet). Which counters? > Any > suggestions on how to debug this are appreciated. Add some debugging statements to sitd_link_urb(). Print out the frame number the sitd is linked into and the controller's current frame number. 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