NetworkPkg: Protocol Uninstallation Cleanup

Use UEFILib provided protocol uninstallation abstraction
instead of direct API for a proper cleanup.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1444

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ashish Singhal <ashishsingha@nvidia.com>
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
This commit is contained in:
Ashish Singhal 2019-01-11 03:27:08 +08:00 committed by Jiaxin Wu
parent 5bc96263ea
commit 22b35e8bd1
6 changed files with 35 additions and 70 deletions

View File

@ -510,28 +510,18 @@ DnsDriverEntryPoint (
FreePool (mDriverData); FreePool (mDriverData);
Error2: Error2:
gBS->UninstallMultipleProtocolInterfaces ( EfiLibUninstallDriverBindingComponentName2 (
gDns6DriverBinding.DriverBindingHandle, &gDns6DriverBinding,
&gEfiDriverBindingProtocolGuid, &gDnsComponentName,
&gDns6DriverBinding, &gDnsComponentName2
&gEfiComponentName2ProtocolGuid, );
&gDnsComponentName2,
&gEfiComponentNameProtocolGuid,
&gDnsComponentName,
NULL
);
Error1: Error1:
gBS->UninstallMultipleProtocolInterfaces ( EfiLibUninstallDriverBindingComponentName2 (
ImageHandle, &gDns4DriverBinding,
&gEfiDriverBindingProtocolGuid, &gDnsComponentName,
&gDns4DriverBinding, &gDnsComponentName2
&gEfiComponentName2ProtocolGuid, );
&gDnsComponentName2,
&gEfiComponentNameProtocolGuid,
&gDnsComponentName,
NULL
);
return Status; return Status;
} }

View File

@ -1327,16 +1327,11 @@ HttpBootDxeDriverEntryPoint (
&gHttpBootDxeComponentName2 &gHttpBootDxeComponentName2
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
gBS->UninstallMultipleProtocolInterfaces( EfiLibUninstallDriverBindingComponentName2(
ImageHandle, &gHttpBootIp4DxeDriverBinding,
&gEfiDriverBindingProtocolGuid, &gHttpBootDxeComponentName,
&gHttpBootIp4DxeDriverBinding, &gHttpBootDxeComponentName2
&gEfiComponentName2ProtocolGuid, );
&gHttpBootDxeComponentName2,
&gEfiComponentNameProtocolGuid,
&gHttpBootDxeComponentName,
NULL
);
} }
return Status; return Status;
} }

View File

@ -230,16 +230,11 @@ HttpDxeDriverEntryPoint (
&gHttpDxeComponentName2 &gHttpDxeComponentName2
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
gBS->UninstallMultipleProtocolInterfaces ( EfiLibUninstallDriverBindingComponentName2 (
ImageHandle, &gHttpDxeIp4DriverBinding,
&gEfiDriverBindingProtocolGuid, &gHttpDxeComponentName,
&gHttpDxeIp4DriverBinding, &gHttpDxeComponentName2
&gEfiComponentName2ProtocolGuid, );
&gHttpDxeComponentName2,
&gEfiComponentNameProtocolGuid,
&gHttpDxeComponentName,
NULL
);
} }
return Status; return Status;
} }

View File

@ -631,16 +631,11 @@ IpSecDriverEntryPoint (
return Status; return Status;
ON_UNINSTALL_IPSEC4_DB: ON_UNINSTALL_IPSEC4_DB:
gBS->UninstallMultipleProtocolInterfaces ( EfiLibUninstallDriverBindingComponentName2 (
ImageHandle, &gIpSec4DriverBinding,
&gEfiDriverBindingProtocolGuid, &gIpSecComponentName,
&gIpSec4DriverBinding, &gIpSecComponentName2
&gEfiComponentName2ProtocolGuid, );
&gIpSecComponentName2,
&gEfiComponentNameProtocolGuid,
&gIpSecComponentName,
NULL
);
ON_UNINSTALL_IPSEC: ON_UNINSTALL_IPSEC:
gBS->UninstallProtocolInterface ( gBS->UninstallProtocolInterface (

View File

@ -202,16 +202,11 @@ TcpDriverEntryPoint (
&gTcpComponentName2 &gTcpComponentName2
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
gBS->UninstallMultipleProtocolInterfaces ( EfiLibUninstallDriverBindingComponentName2 (
ImageHandle, &gTcp4DriverBinding,
&gEfiDriverBindingProtocolGuid, &gTcpComponentName,
&gTcp4DriverBinding, &gTcpComponentName2
&gEfiComponentName2ProtocolGuid, );
&gTcpComponentName2,
&gEfiComponentNameProtocolGuid,
&gTcpComponentName,
NULL
);
return Status; return Status;
} }

View File

@ -1269,16 +1269,11 @@ PxeBcDriverEntryPoint (
&gPxeBcComponentName2 &gPxeBcComponentName2
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
gBS->UninstallMultipleProtocolInterfaces ( EfiLibUninstallDriverBindingComponentName2 (
ImageHandle, &gPxeBcIp4DriverBinding,
&gEfiDriverBindingProtocolGuid, &gPxeBcComponentName,
&gPxeBcIp4DriverBinding, &gPxeBcComponentName2
&gEfiComponentName2ProtocolGuid, );
&gPxeBcComponentName2,
&gEfiComponentNameProtocolGuid,
&gPxeBcComponentName,
NULL
);
} }
return Status; return Status;