Sync the latest version from R8.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4400 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -426,6 +426,7 @@ TcpCloneTcb (
|
||||
{
|
||||
TCP_CB *Clone;
|
||||
TCP4_SERVICE_DATA *TcpService;
|
||||
EFI_IP4_PROTOCOL *Ip4;
|
||||
|
||||
Clone = NetAllocatePool (sizeof (TCP_CB));
|
||||
|
||||
@ -454,10 +455,13 @@ TcpCloneTcb (
|
||||
|
||||
((TCP4_PROTO_DATA *) (Clone->Sk->ProtoReserved))->TcpPcb = Clone;
|
||||
|
||||
TcpService = ((TCP4_PROTO_DATA *) (Clone->Sk->ProtoReserved))->TcpService;
|
||||
|
||||
NetListInsertTail (&TcpService->SocketList, &Clone->Sk->Link);
|
||||
|
||||
//
|
||||
// Open the device path on the handle where service binding resides on.
|
||||
//
|
||||
TcpService = ((TCP4_PROTO_DATA *) (Clone->Sk->ProtoReserved))->TcpService;
|
||||
gBS->OpenProtocol (
|
||||
TcpService->ControllerHandle,
|
||||
&gEfiDevicePathProtocolGuid,
|
||||
@ -467,6 +471,18 @@ TcpCloneTcb (
|
||||
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER
|
||||
);
|
||||
|
||||
//
|
||||
// Open the ip protocol by child controller.
|
||||
//
|
||||
gBS->OpenProtocol (
|
||||
TcpService->IpIo->ChildHandle,
|
||||
&gEfiIp4ProtocolGuid,
|
||||
(VOID **) &Ip4,
|
||||
TcpService->DriverBindingHandle,
|
||||
Clone->Sk->SockHandle,
|
||||
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER
|
||||
);
|
||||
|
||||
return Clone;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user