--- R29/drivers/usb/hub.c 2004-03-24 19:55:48.000000000 +0000 +++ R63/drivers/usb/hub.c 2005-06-02 07:31:32.000000000 +0100 @@ -726,7 +726,6 @@ break; } - hub->children[port] = dev; /* Reset the device */ if (usb_hub_port_reset(hub, port, dev, delay)) { @@ -776,8 +775,11 @@ } /* Run it through the hoops (find a driver, etc) */ - if (!usb_new_device(dev)) + if (!usb_new_device(dev)){ + //pete + hub->children[port] = dev; goto done; + } /* Free the configuration if there was an error */ usb_free_dev(dev); @@ -896,9 +898,9 @@ usb_clear_port_feature(dev, i + 1, USB_PORT_FEAT_C_RESET); } // if (portchange&&(!list_empty(&hub_event_list.next))){ - if (portchange){ - break;//super - } +// if (portchange){ +// break;//super +// } } /* end for i */ /* deal with hub status changes */