linux/drivers/usb/misc
Razvan Heghedus f2b42379c5 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>
2021-12-17 17:02:04 +01:00
..
sisusbvga USB / Thunderbolt patches for 5.11-rc1 2020-12-15 13:54:56 -08:00
adutux.c usb: misc: adutux: use swap() 2021-08-05 12:31:34 +02:00
apple-mfi-fastcharge.c USB: apple-mfi-fastcharge: Fix use after free in probe 2020-12-04 16:48:07 +01:00
appledisplay.c usb: appledisplay: use module_usb_driver to simplify the code 2020-09-22 10:37:19 +02:00
brcmstb-usb-pinmap.c usb: misc: brcmstb-usb-pinmap: add IRQ check 2021-08-13 13:05:50 +02:00
chaoskey.c USB: chaoskey: fix error case of a timeout 2019-11-11 14:29:39 +01:00
cypress_cy7c63.c USB: cypress_cy7c63: convert to use dev_groups 2019-08-09 07:55:44 +02:00
cytherm.c USB: cytherm: convert to use dev_groups 2019-08-09 07:55:44 +02:00
ehset.c usb: misc: ehset: Rework test mode entry 2021-12-17 17:02:04 +01:00
emi26.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
emi62.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
ezusb.c usb: misc: ezusb: update to use usb_control_msg_send() 2021-03-28 13:41:27 +02:00
ftdi-elan.c usb: ftdi-elan: fix memory leak on device disconnect 2021-12-17 16:54:12 +01:00
idmouse.c USB: idmouse: fix interface sanity checks 2019-12-10 13:11:22 +01:00
iowarrior.c USB: iowarrior: fix control-message timeouts 2021-10-26 19:12:28 +02:00
isight_firmware.c USB: misc: Remove redundant license text 2017-11-04 11:55:38 +01:00
Kconfig Revert "USB: misc: Add onboard_usb_hub driver" 2021-06-18 08:39:24 +02:00
ldusb.c module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
legousbtower.c USB: legotower: fix logical error in recent commit 2020-12-08 19:55:09 +01:00
lvstest.c USB: lvtest: return proper error code in probe 2020-08-18 11:55:23 +02:00
Makefile Revert "USB: misc: Add onboard_usb_hub driver" 2021-06-18 08:39:24 +02:00
trancevibrator.c USB: trancevibrator: fix control-request direction 2021-05-21 20:10:43 +02:00
usb251xb.c usb: usb251xb: Use of_device_get_match_data() 2021-01-26 12:17:32 -06:00
usb3503.c usb: misc: usb3503: Fix logic in usb3503_init() 2021-02-11 13:52:04 +01:00
usb4604.c usb/misc: usb4604: Use pm_ptr() macro 2020-09-04 16:53:51 +02:00
usb_u132.h USB: misc: Use the correct style for SPDX License Identifier 2020-04-16 14:32:47 +02:00
usblcd.c USB: usblcd: Remove the superfluous break 2020-08-28 09:48:33 +02:00
usbsevseg.c usb: misc: usbsevseg: update to use usb_control_msg_send() 2021-03-28 13:41:27 +02:00
usbtest.c usb: usbtest: reduce stack usage in test_queue 2020-07-21 13:41:57 +02:00
uss720.c misc/uss720: fix memory leak in uss720_probe 2021-05-21 14:25:53 +02:00
yurex.c USB: yurex: fix control-URB timeout handling 2020-12-28 15:47:06 +01:00