Skip to content

Commit a7d8d1c

Browse files
lunngregkh
authored andcommitted
usb: core: hub: Disable autosuspend for Cypress CY7C65632
The Cypress CY7C65632 appears to have an issue with auto suspend and detecting devices, not too dissimilar to the SMSC 5534B hub. It is easiest to reproduce by connecting multiple mass storage devices to the hub at the same time. On a Lenovo Yoga, around 1 in 3 attempts result in the devices not being detected. It is however possible to make them appear using lsusb -v. Disabling autosuspend for this hub resolves the issue. Fixes: 1208f9e ("USB: hub: Fix the broken detection of USB3 device in SMSC hub") Cc: [email protected] Signed-off-by: Andrew Lunn <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 60ed39d commit a7d8d1c

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

drivers/usb/core/hub.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@
4141
#define USB_VENDOR_GENESYS_LOGIC 0x05e3
4242
#define USB_VENDOR_SMSC 0x0424
4343
#define USB_PRODUCT_USB5534B 0x5534
44+
#define USB_VENDOR_CYPRESS 0x04b4
45+
#define USB_PRODUCT_CY7C65632 0x6570
4446
#define HUB_QUIRK_CHECK_PORT_AUTOSUSPEND 0x01
4547
#define HUB_QUIRK_DISABLE_AUTOSUSPEND 0x02
4648

@@ -5697,6 +5699,11 @@ static const struct usb_device_id hub_id_table[] = {
56975699
.idProduct = USB_PRODUCT_USB5534B,
56985700
.bInterfaceClass = USB_CLASS_HUB,
56995701
.driver_info = HUB_QUIRK_DISABLE_AUTOSUSPEND},
5702+
{ .match_flags = USB_DEVICE_ID_MATCH_VENDOR
5703+
| USB_DEVICE_ID_MATCH_PRODUCT,
5704+
.idVendor = USB_VENDOR_CYPRESS,
5705+
.idProduct = USB_PRODUCT_CY7C65632,
5706+
.driver_info = HUB_QUIRK_DISABLE_AUTOSUSPEND},
57005707
{ .match_flags = USB_DEVICE_ID_MATCH_VENDOR
57015708
| USB_DEVICE_ID_MATCH_INT_CLASS,
57025709
.idVendor = USB_VENDOR_GENESYS_LOGIC,

0 commit comments

Comments
 (0)