EFI_STATUS Status;\r
\r
NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiArpProtocolGuid);\r
-\r
if (NicHandle == NULL) {\r
-\r
NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiDhcp4ProtocolGuid);\r
\r
if (NicHandle == NULL) {\r
-\r
- NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiMtftp4ProtocolGuid);\r
+ NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiIp4ProtocolGuid);\r
\r
if (NicHandle == NULL) {\r
+ NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiUdp4ProtocolGuid);\r
\r
- return EFI_DEVICE_ERROR;\r
+ if (NicHandle == NULL) {\r
+ NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiMtftp4ProtocolGuid);\r
\r
+ if (NicHandle == NULL) {\r
+ return EFI_DEVICE_ERROR;\r
+ }\r
+ }\r
}\r
}\r
}\r
Private->Mtftp4Child\r
);\r
\r
+ gBS->CloseProtocol (\r
+ Private->Ip4Child,\r
+ &gEfiIp4ProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ NicHandle\r
+ );\r
+ NetLibDestroyServiceChild (\r
+ NicHandle,\r
+ This->DriverBindingHandle,\r
+ &gEfiIp4ServiceBindingProtocolGuid,\r
+ Private->Ip4Child\r
+ );\r
+\r
gBS->CloseProtocol (\r
Private->ArpChild,\r
&gEfiArpProtocolGuid,\r