• Alan Stern's avatar
    OHCI: final fix for NVIDIA problems (I hope) · c6187597
    Alan Stern authored
    Problems with NVIDIA's OHCI host controllers persist.  After looking
    carefully through the spec, I finally realized that when a controller
    is reset it then automatically goes into a SUSPEND state in which it
    is completely quiescent (no DMA and no IRQs) and from which it will
    not awaken until the system puts it into the OPERATIONAL state.
    
    Therefore there's no need to worry about controllers being in the
    RESET state for extended periods, or remaining in the OPERATIONAL
    state during system shutdown.  The proper action for device
    initialization is to put the controller into the RESET state (if it's
    not there already) and then to issue a software reset.  Similarly, the
    proper action for device shutdown is simply to do a software reset.
    
    This patch (as1499) implements such an approach.  It simplifies
    initialization and shutdown, and allows the NVIDIA shutdown-quirk code
    to be removed.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Tested-by: default avatarAndre "Osku" Schmidt <andre.osku.schmidt@googlemail.com>
    Tested-by: default avatarArno Augustin <Arno.Augustin@web.de>
    Cc: stable <stable@vger.kernel.org> [after tested in 3.2 for a while]
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    c6187597
ohci-hcd.c 33.2 KB