1. Sync the latest network stack. Add NetLibCreateIPv4DPathNode () in netlib library.

2. Fixed one porting bug in Udp4Impl.c

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3717 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
vanjeff
2007-08-27 09:17:26 +00:00
parent 98376cc51d
commit e5e12de7d0
10 changed files with 274 additions and 11 deletions

View File

@@ -586,6 +586,28 @@ Tcp4ServiceBindingCreateChild (
);
if (EFI_ERROR (Status)) {
SockDestroyChild (Sock);
goto ON_EXIT;
}
//
// Open the device path on the handle where service binding resides on.
//
Status = gBS->OpenProtocol (
TcpServiceData->ControllerHandle,
&gEfiDevicePathProtocolGuid,
(VOID **) &Sock->ParentDevicePath,
TcpServiceData->DriverBindingHandle,
Sock->SockHandle,
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER
);
if (EFI_ERROR (Status)) {
gBS->CloseProtocol (
TcpServiceData->IpIo->ChildHandle,
&gEfiIp4ProtocolGuid,
TcpServiceData->DriverBindingHandle,
Sock->SockHandle
);
SockDestroyChild (Sock);
}
ON_EXIT:
@@ -652,6 +674,16 @@ Tcp4ServiceBindingDestroyChild (
Status = SockDestroyChild (Sock);
//
// Close the device path protocol
//
gBS->CloseProtocol (
TcpServiceData->ControllerHandle,
&gEfiDevicePathProtocolGuid,
TcpServiceData->DriverBindingHandle,
ChildHandle
);
//
// Close the Ip4 protocol.
//