]> git.baikalelectronics.ru Git - kernel.git/commit
usb: wusbcore: send keepalives to unauthenticated devices
authorThomas Pugliese <thomas.pugliese@gmail.com>
Mon, 2 Dec 2013 21:39:43 +0000 (15:39 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Dec 2013 23:21:03 +0000 (15:21 -0800)
commit76e8a93822d47ab315233c881e15c424f8120e75
tree8522bec12f38c35813ccd834e2f3148c61e6e281
parentb5a4dd6e88ca254636524aaa02a141d48e347b91
usb: wusbcore: send keepalives to unauthenticated devices

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: Thomas Pugliese <thomas.pugliese@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/wusbcore/devconnect.c