Index: uhci.c =================================================================== --- uhci.c (revision 43116) +++ uhci.c (working copy) @@ -3827,6 +3832,7 @@ DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath) { NTSTATUS ntStatus = STATUS_SUCCESS; + PDEVICE_OBJECT pDev = NULL ; #if DBG // should be done before any debug output is done. @@ -3872,10 +3878,11 @@ g_dev_mgr.usb_driver_obj = DriverObject; #ifdef INCLUDE_EHCI - ehci_probe(DriverObject, RegistryPath, &g_dev_mgr); + pDev = ehci_probe(DriverObject, RegistryPath, &g_dev_mgr); #endif - uhci_probe(DriverObject, RegistryPath, &g_dev_mgr); + if(!pDev) + uhci_probe(DriverObject, RegistryPath, &g_dev_mgr); if (dev_mgr_strobe(&g_dev_mgr) == FALSE) {