UPSTREAM: usb: hub: Clear BH reset status change for a 3.0 hub

USB 3.0 hubs report bit[5] in the port status change response as BH
reset. The hub shall set the C_BH_PORT_RESET field for this port.

Change-Id: I54d72aba3b1901c505aec754f2183e4d8d2e82dd
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 061895fbe57d29f50bb3c6c8609d56a668d1387d)
This commit is contained in:
Bin Meng 2017-09-18 06:40:46 -07:00 committed by Kever Yang
parent b717f6f66c
commit 2a13791069
1 changed files with 6 additions and 0 deletions

View File

@ -494,6 +494,12 @@ static int usb_scan_port(struct usb_device_scan *usb_scan)
usb_clear_port_feature(dev, i + 1, USB_PORT_FEAT_C_RESET);
}
if ((portchange & USB_SS_PORT_STAT_C_BH_RESET) &&
usb_hub_is_superspeed(dev)) {
debug("port %d BH reset change\n", i + 1);
usb_clear_port_feature(dev, i + 1, USB_SS_PORT_FEAT_C_BH_RESET);
}
/* A new USB device is ready at this point */
debug("devnum=%d port=%d: USB dev found\n", dev->devnum, i + 1);