• David Brownell's avatar
    [PATCH] USB: EHCI port tweaks · 10f6524a
    David Brownell authored
    One change may improve some S1 or S3 resume cases, and the other
    seems mostly to explain some strange state "lsusb" would show.
    Two fixes:
    
      - On resume, don't think about resuming any unpowered port, or
        resetting any port with OWNER set to the OHCI/UHCI companion.
        This will make some S1 and S3 resume scenarios work better.
    
      - PORT_CSC was not being cleared correctly in ehci_hub_status_data.
        This was visible at least through current versions of "lsusb",
        and might have caused some other hub related strangeness.
    
        The fix addresses all three write-to-clear bits, using the same
        approach that UHCI happens to use:  a mask of bits that are
        cleared in most writes to that port status register.
    
    Original patch seems to have been from from William.Morrow@amd.com
    and this version (from David) finishes the write-to-clear changes.
    Signed-off-by: default avatarJordan Crouse <jordan.crouse@amd.com>
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    10f6524a
ehci-hcd.c 33.9 KB