hi Alan: 2014-04-09 6:58 GMT+08:00 Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>: > On Tue, 8 Apr 2014, vichy wrote: > >> > That's a different bit. USB_PORT_FEAT_C_RESET isn't the same as >> > USB_PORT_FEAT_RESET. >> what I am curious is, >> if port reset bit will clear to 0 within 2ms, why we still need to >> clear_port_feature with USB_PORT_FEAT_C_RESET >> (clear Port reset ) >> > >> >> if (hub_is_superspeed(hub->hdev)) { >> >> clear_port_feature(hub->hdev, port1, >> >> USB_PORT_FEAT_C_BH_PORT_RESET); >> >> clear_port_feature(hub->hdev, port1, >> >> USB_PORT_FEAT_C_PORT_LINK_STATE); >> >> clear_port_feature(hub->hdev, port1, >> >> USB_PORT_FEAT_C_CONNECTION); >> >> } > > Because if we leave these bits set, the hub will send messages on its > interrupt endpoint telling us that these bits need to be cleared. I got what makes me confused. The USB_PORT_FEAT_C_RESET only work for non-root hub. appreciate your kind help, -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html