• Thomas Pugliese's avatar
    usb: wusbcore: send keepalives to unauthenticated devices · f4042c06
    Thomas Pugliese authored
    This patch modifies the WUSB device disconnect timer code to send
    keepalives to all connected devices even if they are not authenticated.
    This fixes a problem where unauthenticated devices that lose their
    connection before they are authenticated will stay in the device tree
    forever.  More importantly, devices in this situation will never
    relinquish their port on the root hub so eventually all root ports will
    be taken up and no other devices can connect.
    
    A comment in the existing code states that there are some devices that
    may not respond to keepalives if they have not been authenticated.  That
    comment is about 5 years old and I don't know of any WUSB devices that
    act that way.  Either way, any buggy devices that may still be around
    will continue to work as long as they can transition to the
    authenticated state within the WUSB LOA timeout of 4s, which is not
    unreasonable to expect.
    Signed-off-by: default avatarThomas Pugliese <thomas.pugliese@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    f4042c06
devconnect.c 32.1 KB