On Mon, 16 Jul 2012, Ming Lei wrote: > On Wed, Jul 11, 2012 at 11:22 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > > This patch (as1573) adds hrtimer support for managing ehci-hcd's > > periodic schedule. There are two issues to deal with. > > > > First, the schedule's state (on or off) must not be changed until the > > hardware status has caught up with the current command. This is > > handled by an hrtimer event that polls at 1-ms intervals to see when > > the Periodic Schedule Status (PSS) flag matches the Periodic Schedule > > Enable (PSE) value. > > > > Second, the schedule should not be turned off as soon as it becomes > > empty. Turning the schedule on and off takes time, so we want to wait > > until the schedule has been empty for a suitable period before turning > > it off. This is handled by an hrtimer event that gets set to expire > > 10 ms after the periodic schedule becomes empty. > > > > The existing code polls (for up to 1125 us and with interrupts > > disabled!) to check the status, and doesn't implement a delay before > > turning off the schedule. Furthermore, if the polling fails then the > > driver decides that the controller has died. This has caused problems > > for several people; some controllers can take 10 ms or more to turn > > off their periodic schedules. > > I remembered that a few similar problems were reported before, so looks > the patch should be marked as -stable. > > IMO, the backporting will become easier if there are fewer dependency > for the patch. The patches in this series should not be pack-ported for -stable. They are too invasive and make too many large-scale changes. People experiencing these problems should upgrade to 3.6 (or whatever kernel version includes all the new code) when it becomes available. 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