Please use Reply-to-All so that your email gets sent to the mailing list as well as to me. On Fri, 25 Mar 2011, bradhuang wrote: > Dears, > > Let me explain more detail. > We got the issue in our Embedded System that also running usbip daemon. > When we plug webcam for long time iso data testing, we got system reset and > usbip daemon disconnect issue. > The time for watchdog reset of mine is about 10seconds. > And when we add code: > 1. disable watchdog before execute scan_periodic() in ehci_work function, > 2. enable watchdog after execute scan_periodic() in ehci_work function. > Then the watchdog reset issue can not be found again. But usbip daemon will > be disconnected in testing. > It means scan_periodic() take long time for ehci irq. Such that system can > not service for other irq (e.g. network driver). > After trace the code flow of iso data, most iso data are going to case > Q_TYPE_ITD, and in itd_complete() will check wheather execute ehci_urb_done > or not. > Why you patch for case Q_TYPE_QH not for case Q_TYPE_ITD? Because the Q_TYPE_QH case in scan_periodic() calls qh_completions() when it doesn't need to. The Q_TYPE_ITD case doesn't make the same mistake. > Do you have idea for itd case? No. Therefore you need to do more testing. > Also, after measure the cycle number for several function, > We found: > for loops in scan_periodic() will take most cpu cycles, > we will check in depth for "for loops" in scan_periodic(). 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