summaryrefslogtreecommitdiffstats
path: root/NetworkPkg/TcpDxe/SockInterface.c
diff options
context:
space:
mode:
authortye1 <tye1@6f19259b-4bc3-4df7-8a09-765794883524>2011-10-28 07:24:52 +0000
committertye1 <tye1@6f19259b-4bc3-4df7-8a09-765794883524>2011-10-28 07:24:52 +0000
commit80ae1cc7004d6667850d829adc4dc7708816a5a6 (patch)
treee0956f6029c308b5190ddfab1b2a1c8a6ea54749 /NetworkPkg/TcpDxe/SockInterface.c
parente8e5cd4a5e0e85382d5fc4d1eb469e8c52d58f18 (diff)
downloadedk2-80ae1cc7004d6667850d829adc4dc7708816a5a6.tar.gz
edk2-80ae1cc7004d6667850d829adc4dc7708816a5a6.tar.bz2
edk2-80ae1cc7004d6667850d829adc4dc7708816a5a6.zip
Update error handling code if failing attach socket with new PCB in TcpDxe module.
Signed-off-by: tye Reviewed-by: xdu2 Reviewed-by: qouyang git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12590 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'NetworkPkg/TcpDxe/SockInterface.c')
-rw-r--r--NetworkPkg/TcpDxe/SockInterface.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/NetworkPkg/TcpDxe/SockInterface.c b/NetworkPkg/TcpDxe/SockInterface.c
index e36c0e97c8..ebab8c7f18 100644
--- a/NetworkPkg/TcpDxe/SockInterface.c
+++ b/NetworkPkg/TcpDxe/SockInterface.c
@@ -1,7 +1,7 @@
/** @file
Interface function of the Socket.
- Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -245,6 +245,7 @@ SockCreateChild (
// with a new protocol control block
//
Status = Sock->ProtoHandler (Sock, SOCK_ATTACH, NULL);
+ EfiReleaseLock (&(Sock->Lock));
if (EFI_ERROR (Status)) {
DEBUG (
@@ -257,7 +258,6 @@ SockCreateChild (
Sock = NULL;
}
- EfiReleaseLock (&(Sock->Lock));
return Sock;
}