USB: EHCI: revert "remove ASS/PSS polling timeout"
This patch (as1649) reverts commit 55bcdce8 (USB: EHCI: remove ASS/PSS polling timeout). That commit was written under the assumption that some controllers may take a very long time to turn off their async and periodic schedules. It now appears that in fact the schedules do get turned off reasonably quickly, but some controllers occasionally leave the schedules' status bits turned on and consequently ehci-hcd can't tell that the schedules are off. VIA controllers in particular have this problem. ehci-hcd tells the hardware to turn off the async schedule, the schedule does get turned off, but the status bit remains on. Since the EHCI spec requires that the schedules not be re-enabled until the previous disable has taken effect, with an unlimited timeout the async schedule never gets turned back on. The resulting symptom is that the system is unable to communicate with USB devices. Signed-off-by: NAlan Stern <stern@rowland.harvard.edu> Reported-and-tested-by: NRonald <ronald645@gmail.com> Reported-and-tested-by: NPaul Hartman <paul.hartman@gmail.com> Reported-and-tested-by: NDieter Nützel <dieter@nuetzel-hh.de> Reported-and-tested-by: NJean Delvare <khali@linux-fr.org> Cc: stable <stable@vger.kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing
想要评论请 注册 或 登录