|
@@ -4832,8 +4832,9 @@ static void hub_events(void)
|
|
|
hub->ports[i - 1]->child;
|
|
|
|
|
|
dev_dbg(hub_dev, "warm reset port %d\n", i);
|
|
|
- if (!udev || !(portstatus &
|
|
|
- USB_PORT_STAT_CONNECTION)) {
|
|
|
+ if (!udev ||
|
|
|
+ !(portstatus & USB_PORT_STAT_CONNECTION) ||
|
|
|
+ udev->state == USB_STATE_NOTATTACHED) {
|
|
|
status = hub_port_reset(hub, i,
|
|
|
NULL, HUB_BH_RESET_TIME,
|
|
|
true);
|