diff --git a/boot/bootdata/hivesys.inf b/boot/bootdata/hivesys.inf index 966a1ea..08eb718 100644 --- a/boot/bootdata/hivesys.inf +++ b/boot/bootdata/hivesys.inf @@ -2173,7 +2173,7 @@ HKLM,"SYSTEM\Setup","SystemPartition",0x00000000,"\Device\Harddisk0\Partition1" HKLM,"SYSTEM\Setup","SystemSetupInProgress",0x00010001,0x00000001 ; Debug channels -;HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","DEBUGCHANNEL",0x00020000,"+ole,+rpc" +HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","DEBUGCHANNEL",0x00020000,"+netcfgx" ; Winsrv configuration HKLM,"SYSTEM\CurrentControlSet\Control\PriorityControl",,0x00000012 diff --git a/drivers/network/ndis/ndis/miniport.c b/drivers/network/ndis/ndis/miniport.c index 645291c..b20d0a0 100644 --- a/drivers/network/ndis/ndis/miniport.c +++ b/drivers/network/ndis/ndis/miniport.c @@ -2505,6 +2505,15 @@ NdisIAddDevice( Status = RtlQueryRegistryValues(RTL_REGISTRY_CONTROL, LinkageKeyBuffer, QueryTable, NULL, NULL); + + /* If Status is bad then print to debug log and try again since this might be a race condition. */ + if (!NT_SUCCESS(Status)) + { + NDIS_DbgPrint(MIN_TRACE, ("Can't get miniport device name for LinkageKeyBuffer '%S' Status is (%x)\n", + LinkageKeyBuffer, Status)); + Status = RtlQueryRegistryValues(RTL_REGISTRY_CONTROL, LinkageKeyBuffer, + QueryTable, NULL, NULL); + } ExFreePool(LinkageKeyBuffer); if (!NT_SUCCESS(Status)) {