audk/NetworkPkg/SnpDxe
Michael Kubacki ca08f3d453 NetworkPkg/SnpDxe: Register SnpNotifyExitBootServices at TPL_CALLBACK
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1562

The current SnpDxe implementation registers its ExitBootServices event
notification function (SnpNotifyExitBootServices ()) at TPL_NOTIFY. This
function calls PxeShutdown() which issues an UNDI  shutdown operation.
Ultimately, this may invoke Shutdown() in EFI_SIMPLE_NETWORK_PROTOCOL.

The UEFI specification 2.8A Table 27 "TPL Restrictions" restricts the
TPL
for Simple Network Protocol to <= TPL_CALLBACK. In addition, it has been
observed in some 3rd party UNDI drivers to cause an issue further down
the call stack if the TPL is higher than TPL_CALLBACK on invocation.

Therefore, this commit changes the TPL of SnpNotifyExitBootServices() to
TPL_CALLBACK.

Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com>
2020-04-17 17:34:33 +00:00
..
Callback.c NetworkPkg/SnpDxe: Fix few typos 2020-02-10 22:30:07 +00:00
ComponentName.c
Get_status.c
Initialize.c
Mcast_ip_to_mac.c
Nvdata.c
Receive.c
Receive_filters.c
Reset.c
Shutdown.c NetworkPkg/SnpDxe: Fix few typos 2020-02-10 22:30:07 +00:00
Snp.c NetworkPkg/SnpDxe: Register SnpNotifyExitBootServices at TPL_CALLBACK 2020-04-17 17:34:33 +00:00
Snp.h NetworkPkg/SnpDxe: Fix few typos 2020-02-10 22:30:07 +00:00
SnpDxe.inf NetworkPkg/SnpDxe: Add PCD to remove ExitBootServices event from SNP driver. 2019-10-21 14:50:51 +08:00
SnpDxe.uni
SnpDxeExtra.uni
Start.c
Station_address.c
Statistics.c
Stop.c
Transmit.c
WaitForPacket.c NetworkPkg/SnpDxe: Fix few typos 2020-02-10 22:30:07 +00:00