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:
@@ -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.
|
||||
//
|
||||
|
Reference in New Issue
Block a user