Message ID | 20180324174022.10492-3-xypron.glpk@gmx.de |
---|---|
State | Accepted |
Commit | ee3db4fc04714c80196e49f8f3a5f157f20d2862 |
Delegated to: | Alexander Graf |
Headers | show |
Series | efi_loader: (network) event handling | expand |
diff --git a/lib/efi_loader/efi_net.c b/lib/efi_loader/efi_net.c index b88dc91f58..3d860e658e 100644 --- a/lib/efi_loader/efi_net.c +++ b/lib/efi_loader/efi_net.c @@ -353,8 +353,10 @@ efi_status_t efi_net_register(void) * * The notification function is used to check if a new network packet * has been received. + * + * iPXE is running at TPL_CALLBACK most of the time. Use a higher TPL. */ - r = efi_create_event(EVT_TIMER | EVT_NOTIFY_SIGNAL, TPL_CALLBACK, + r = efi_create_event(EVT_TIMER | EVT_NOTIFY_SIGNAL, TPL_NOTIFY, efi_network_timer_notify, NULL, NULL, &network_timer_event); if (r != EFI_SUCCESS) {
We use a timer to poll the network. iPXE is used for booting from iSCSI drives. It has been changed to run at TPL_CALLBACK most of the time (which is not what the UEFI spec recommends). By changing our timer to TPL_NOTIFY we can ensure that it is nevertheless executed. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> --- lib/efi_loader/efi_net.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)