- Add the adapter to the adapter list only after it is bound to the IP layer
authorCameron Gutman <aicommander@gmail.com>
Fri, 19 Sep 2008 04:18:59 +0000 (04:18 +0000)
committerCameron Gutman <aicommander@gmail.com>
Fri, 19 Sep 2008 04:18:59 +0000 (04:18 +0000)
svn path=/branches/aicom-network-fixes/; revision=36310

drivers/network/tcpip/datalink/lan.c

index c82ad04..9a026bc 100644 (file)
@@ -1207,11 +1207,6 @@ NDIS_STATUS LANRegisterAdapter(
     /* Convert returned link speed to bps (it is in 100bps increments) */
     IF->Speed = Speed * 100L;
 
-    /* Add adapter to the adapter list */
-    ExInterlockedInsertTailList(&AdapterListHead,
-                                &IF->ListEntry,
-                                &AdapterListLock);
-
     /* Bind adapter to IP layer */
     if( !BindAdapter(IF, RegistryPath) ) {
        TI_DbgPrint(DEBUG_DATALINK,("denying adapter %wZ (BindAdapter)\n", AdapterName));
@@ -1219,6 +1214,11 @@ NDIS_STATUS LANRegisterAdapter(
        return NDIS_STATUS_NOT_ACCEPTED;
     }
 
+    /* Add adapter to the adapter list */
+    ExInterlockedInsertTailList(&AdapterListHead,
+                                &IF->ListEntry,
+                                &AdapterListLock);
+
     TI_DbgPrint(DEBUG_DATALINK, ("Leaving.\n"));
 
     return NDIS_STATUS_SUCCESS;