Page MenuHomeFreeBSD

D35483.diff
No OneTemporary

D35483.diff

diff --git a/sys/dev/usb/usb_hub.c b/sys/dev/usb/usb_hub.c
--- a/sys/dev/usb/usb_hub.c
+++ b/sys/dev/usb/usb_hub.c
@@ -1088,6 +1088,21 @@
if (err != USB_ERR_NORMAL_COMPLETION)
retval = err;
}
+ if (udev->speed == USB_SPEED_SUPER &&
+ (sc->sc_st.port_change & UPS_C_BH_PORT_RESET) != 0) {
+ DPRINTF("Warm reset finished on port %u.\n", portno);
+ err = usbd_req_clear_port_feature(
+ udev, NULL, portno, UHF_C_BH_PORT_RESET);
+ if (err != USB_ERR_NORMAL_COMPLETION)
+ retval = err;
+ }
+ if (sc->sc_st.port_change & UPS_C_PORT_RESET) {
+ DPRINTF("Port reset finished on port %u.\n", portno);
+ err = usbd_req_clear_port_feature(
+ udev, NULL, portno, UHF_C_PORT_RESET);
+ if (err != USB_ERR_NORMAL_COMPLETION)
+ retval = err;
+ }
if (uhub_explore_sub(sc, up) == USB_ERR_NORMAL_COMPLETION) {
/* explore succeeded - reset restart counter */

File Metadata

Mime Type
text/plain
Expires
Thu, Jan 16, 12:38 PM (20 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15825558
Default Alt Text
D35483.diff (899 B)

Event Timeline