• Alan Stern's avatar
    [PATCH] USB: Add logical connect-change notices to the hub driver · 67b7cb9a
    Alan Stern authored
    This patch implements the missing functionality necessary to get device
    resets working fully.  It adds a bit-array of ports with logical
    connect-changes pending to the hub structure, so that the hub driver can
    recognize that these ports should be treated as though they had
    disconnected and re-connected.  This is how we will handle devices that
    "morph" (i.e., change their descriptors) following a reset, as might
    happen with a firmware upload.
    
    There is also a lot of additional kerneldoc and a few small changes to
    some log messages.  An important restriction is that usb_reset_device()
    will refuse to work if the device is suspended.  Trying to reset a
    suspended device leads to several problems, not least of which is that the
    device's parent hub might be suspended as well.
    
    With this patch the device reset code is pretty much complete.  However it
    won't always work correctly until the device locking is straightened out.
    That's coming up next.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
    67b7cb9a
hub.c 55.9 KB