• Alan Stern's avatar
    USB: EHCI: revert "remove ASS/PSS polling timeout" · 221f8dfc
    Alan Stern authored
    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: default avatarAlan Stern <stern@rowland.harvard.edu>
    Reported-and-tested-by: default avatarRonald <ronald645@gmail.com>
    Reported-and-tested-by: default avatarPaul Hartman <paul.hartman@gmail.com>
    Reported-and-tested-by: default avatarDieter Nützel <dieter@nuetzel-hh.de>
    Reported-and-tested-by: default avatarJean Delvare <khali@linux-fr.org>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    221f8dfc
ehci-timer.c 12.2 KB