+++ /dev/null
-diff -urNp grub-2.02-rc1.orig/grub-core/net/drivers/efi/efinet.c grub-2.02-rc1/grub-core/net/drivers/efi/efinet.c
---- grub-2.02-rc1.orig/grub-core/net/drivers/efi/efinet.c 2017-02-08 15:08:35.748315754 +0000
-+++ grub-2.02-rc1/grub-core/net/drivers/efi/efinet.c 2017-02-08 15:08:53.837315551 +0000
-@@ -330,6 +330,7 @@ grub_efi_net_config_real (grub_efi_handl
- {
- struct grub_net_card *card;
- grub_efi_device_path_t *dp;
-+ grub_efi_simple_network_t *net;
-
- dp = grub_efi_get_device_path (hnd);
- if (! dp)
-@@ -383,6 +384,21 @@ grub_efi_net_config_real (grub_efi_handl
- &pxe_mode->dhcp_ack,
- sizeof (pxe_mode->dhcp_ack),
- 1, device, path);
-+ net = grub_efi_open_protocol (card->efi_handle, &net_io_guid,
-+ GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE);
-+ if (net) {
-+ if (net->mode->state == GRUB_EFI_NETWORK_STOPPED
-+ && efi_call_1 (net->start, net) != GRUB_EFI_SUCCESS)
-+ continue;
-+
-+ if (net->mode->state == GRUB_EFI_NETWORK_STOPPED)
-+ continue;
-+
-+ if (net->mode->state == GRUB_EFI_NETWORK_STARTED
-+ && efi_call_3 (net->initialize, net, 0, 0) != GRUB_EFI_SUCCESS)
-+ continue;
-+ card->efi_net = net;
-+ }
- return;
- }
- }