]> git.sur5r.net Git - u-boot/commitdiff
efi_loader: use TPL_NOTIFY for network timer event
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Sat, 24 Mar 2018 17:40:22 +0000 (18:40 +0100)
committerAlexander Graf <agraf@suse.de>
Wed, 4 Apr 2018 09:03:37 +0000 (11:03 +0200)
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>
Signed-off-by: Alexander Graf <agraf@suse.de>
lib/efi_loader/efi_net.c

index b88dc91f58cbdf0a3d20891d9f0aee08ed35e748..3d860e658e64329cedfa6c6e659a001bb12c98e9 100644 (file)
@@ -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) {