summaryrefslogtreecommitdiffstats
path: root/NetworkPkg/SnpDxe/Snp.c
diff options
context:
space:
mode:
Diffstat (limited to 'NetworkPkg/SnpDxe/Snp.c')
-rw-r--r--NetworkPkg/SnpDxe/Snp.c40
1 files changed, 22 insertions, 18 deletions
diff --git a/NetworkPkg/SnpDxe/Snp.c b/NetworkPkg/SnpDxe/Snp.c
index a23af05078..9fb007f7ae 100644
--- a/NetworkPkg/SnpDxe/Snp.c
+++ b/NetworkPkg/SnpDxe/Snp.c
@@ -1,7 +1,7 @@
/** @file
Implementation of driver entry point and driver binding protocol.
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -647,19 +647,21 @@ SimpleNetworkDriverStart (
PxeShutdown (Snp);
PxeStop (Snp);
- //
- // Create EXIT_BOOT_SERIVES Event
- //
- Status = gBS->CreateEventEx (
- EVT_NOTIFY_SIGNAL,
- TPL_NOTIFY,
- SnpNotifyExitBootServices,
- Snp,
- &gEfiEventExitBootServicesGuid,
- &Snp->ExitBootServicesEvent
- );
- if (EFI_ERROR (Status)) {
- goto Error_DeleteSNP;
+ if (FixedPcdGetBool (PcdSnpCreateExitBootServicesEvent)) {
+ //
+ // Create EXIT_BOOT_SERIVES Event
+ //
+ Status = gBS->CreateEventEx (
+ EVT_NOTIFY_SIGNAL,
+ TPL_NOTIFY,
+ SnpNotifyExitBootServices,
+ Snp,
+ &gEfiEventExitBootServicesGuid,
+ &Snp->ExitBootServicesEvent
+ );
+ if (EFI_ERROR (Status)) {
+ goto Error_DeleteSNP;
+ }
}
//
@@ -778,10 +780,12 @@ SimpleNetworkDriverStop (
return Status;
}
- //
- // Close EXIT_BOOT_SERIVES Event
- //
- gBS->CloseEvent (Snp->ExitBootServicesEvent);
+ if (FixedPcdGetBool (PcdSnpCreateExitBootServicesEvent)) {
+ //
+ // Close EXIT_BOOT_SERIVES Event
+ //
+ gBS->CloseEvent (Snp->ExitBootServicesEvent);
+ }
Status = gBS->CloseProtocol (
Controller,