diff options
Diffstat (limited to 'NetworkPkg')
-rw-r--r-- | NetworkPkg/SnpDxe/Snp.c | 6 | ||||
-rw-r--r-- | NetworkPkg/SnpDxe/SnpDxe.inf | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/NetworkPkg/SnpDxe/Snp.c b/NetworkPkg/SnpDxe/Snp.c index 95361c3cd3..09d6c8fc99 100644 --- a/NetworkPkg/SnpDxe/Snp.c +++ b/NetworkPkg/SnpDxe/Snp.c @@ -32,6 +32,10 @@ SnpNotifyExitBootServices ( //
PxeShutdown (Snp);
PxeStop (Snp);
+
+ // Since BeforeExitBootServices is run on each call, close event
+ // to prevent reentry.
+ gBS->CloseEvent (Event);
}
/**
@@ -655,7 +659,7 @@ SimpleNetworkDriverStart ( TPL_CALLBACK,
SnpNotifyExitBootServices,
Snp,
- &gEfiEventExitBootServicesGuid,
+ &gEfiEventBeforeExitBootServicesGuid,
&Snp->ExitBootServicesEvent
);
if (EFI_ERROR (Status)) {
diff --git a/NetworkPkg/SnpDxe/SnpDxe.inf b/NetworkPkg/SnpDxe/SnpDxe.inf index d16f1888b3..e1afd46dfe 100644 --- a/NetworkPkg/SnpDxe/SnpDxe.inf +++ b/NetworkPkg/SnpDxe/SnpDxe.inf @@ -65,7 +65,7 @@ NetLib
[Guids]
- gEfiEventExitBootServicesGuid ## SOMETIMES_CONSUMES ## Event
+ gEfiEventBeforeExitBootServicesGuid ## SOMETIMES_CONSUMES ## Event
[Protocols]
gEfiSimpleNetworkProtocolGuid ## BY_START
|