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,27 +510,17 @@ DnsDriverEntryPoint (
FreePool (mDriverData); FreePool (mDriverData);
Error2: Error2:
gBS->UninstallMultipleProtocolInterfaces ( EfiLibUninstallDriverBindingComponentName2 (
gDns6DriverBinding.DriverBindingHandle,
&gEfiDriverBindingProtocolGuid,
&gDns6DriverBinding, &gDns6DriverBinding,
&gEfiComponentName2ProtocolGuid,
&gDnsComponentName2,
&gEfiComponentNameProtocolGuid,
&gDnsComponentName, &gDnsComponentName,
NULL &gDnsComponentName2
); );
Error1: Error1:
gBS->UninstallMultipleProtocolInterfaces ( EfiLibUninstallDriverBindingComponentName2 (
ImageHandle,
&gEfiDriverBindingProtocolGuid,
&gDns4DriverBinding, &gDns4DriverBinding,
&gEfiComponentName2ProtocolGuid,
&gDnsComponentName2,
&gEfiComponentNameProtocolGuid,
&gDnsComponentName, &gDnsComponentName,
NULL &gDnsComponentName2
); );
return Status; return Status;

View File

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

View File

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

View File

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

View File

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

View File

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