]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Tcp4Dxe/SockInterface.c
MdeModulePkg: Fix issue the iSCSI client can not send reset packet correctly.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Tcp4Dxe / SockInterface.c
index f8b535cf6e7f0ad125a1647bf22e063daca7ff1e..bca4b02009df8da0ba7a2d995e3e63881abd7db9 100644 (file)
@@ -162,15 +162,6 @@ SockDestroyChild (
 \r
   ASSERT (Tcb != NULL);\r
 \r
-  Status = EfiAcquireLockOrFail (&(Sock->Lock));\r
-  if (EFI_ERROR (Status)) {\r
-\r
-    DEBUG ((EFI_D_ERROR, "SockDestroyChild: Get the lock to "\r
-      "access socket failed with %r\n", Status));\r
-\r
-    return EFI_ACCESS_DENIED;\r
-  }\r
-\r
   //\r
   // Close the IP protocol.\r
   //\r
@@ -214,6 +205,15 @@ SockDestroyChild (
         NULL\r
         );\r
 \r
+  Status = EfiAcquireLockOrFail (&(Sock->Lock));\r
+  if (EFI_ERROR (Status)) {\r
+\r
+    DEBUG ((EFI_D_ERROR, "SockDestroyChild: Get the lock to "\r
+      "access socket failed with %r\n", Status));\r
+\r
+    return EFI_ACCESS_DENIED;\r
+  }\r
+\r
   //\r
   // force protocol layer to detach the PCB\r
   //\r