aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/composite.c
diff options
context:
space:
mode:
authorRazvan Heghedus <heghedus.razvan@gmail.com>2021-12-13 20:36:15 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-12-17 17:02:04 +0100
commitf2b42379c57682d4b127283da109fa1a3317966a (patch)
treee835b8f0354fa0a93048bf07e42cdbadd57c72ae /drivers/usb/gadget/composite.c
parentusb: core: Export usb_device_match_id (diff)
downloadlinux-dev-f2b42379c57682d4b127283da109fa1a3317966a.tar.xz
linux-dev-f2b42379c57682d4b127283da109fa1a3317966a.zip
usb: misc: ehset: Rework test mode entry
The USB2.0 spec chapter 11.24.2.13 says that the USB port which is going under test needs to be put in suspend state before sending the test command. Many hubs, don't enforce this precondition and they work fine without this step. We should follow the specification and put the USB port in suspend before sending the test command. Also there are some "special" hubs, which requires to disable the USB port power instead of putting it in suspend. I found out only three hubs which requires this step, but if more are found, they can be added to the list. Since this changes the default implementation, it raises the posibility of finding other broken hubs which are not compliant with the spec and the test command might not work is the port is suspended. If such hubs are found, a similar workaround like the disable part can be implemented to skip putting the port in suspend. Signed-off-by: Razvan Heghedus <heghedus.razvan@gmail.com> Link: https://lore.kernel.org/r/20211213183617.14156-2-heghedus.razvan@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/gadget/composite.c')
0 files changed, 0 insertions, 0 deletions