]> TLD Linux GIT Repositories - packages/grub2.git/blobdiff - efi-net-fix.patch
- updated for 2.02-beta3
[packages/grub2.git] / efi-net-fix.patch
index 41872c001d2da17788408ef25884f1d264c5ee6b..b36640470ecec045a67512baeb92239d8f00b7bd 100644 (file)
@@ -1,30 +1,7 @@
-From 886d93184b894a29b0bef1f2467230a20c7a33ce Mon Sep 17 00:00:00 2001
-From: Mark Salter <msalter@redhat.com>
-Date: Tue, 8 Apr 2014 10:58:11 -0400
-Subject: [PATCH] reopen SNP protocol for exclusive use by grub
-
-While working with pxeboot of grub on an ARM platform, I noticed
-very poor network performance while grub was loading a kernel
-and initramfs. The performance during the loading of grub itself
-seemed reasonable. Digging into the issue, I found that the UEFI
-firmware was periodically polling for network packets while grub
-was downloading files. This was causing timeouts and retries in
-the grub network stack.
-
-The solution I found was to reopen the SNP protocol for exclusive
-use. This forces UEFI to shutdown its use of SNP so that grub is
-not competing for incoming packets.
-
-Signed-off-by: Mark Salter <msalter@redhat.com>
----
- grub-core/net/drivers/efi/efinet.c | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c
-index 2b344d6..a6e4c79 100644
---- a/grub-core/net/drivers/efi/efinet.c
-+++ b/grub-core/net/drivers/efi/efinet.c
-@@ -223,6 +223,7 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char **device,
+diff -ur grub-2.02-beta3.orig/grub-core/net/drivers/efi/efinet.c grub-2.02-beta3/grub-core/net/drivers/efi/efinet.c
+--- grub-2.02-beta3.orig/grub-core/net/drivers/efi/efinet.c    2016-02-28 02:07:41.000000000 +0000
++++ grub-2.02-beta3/grub-core/net/drivers/efi/efinet.c 2016-03-21 07:56:01.589768000 +0000
+@@ -330,6 +330,7 @@
  {
    struct grub_net_card *card;
    grub_efi_device_path_t *dp;
@@ -32,7 +9,7 @@ index 2b344d6..a6e4c79 100644
  
    dp = grub_efi_get_device_path (hnd);
    if (! dp)
-@@ -250,6 +251,21 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char **device,
+@@ -383,6 +384,21 @@
                                    &pxe_mode->dhcp_ack,
                                    sizeof (pxe_mode->dhcp_ack),
                                    1, device, path);
@@ -54,6 +31,3 @@ index 2b344d6..a6e4c79 100644
      return;
    }
  }
--- 
-1.8.5.3
-