summaryrefslogtreecommitdiff
path: root/shim.c
diff options
context:
space:
mode:
Diffstat (limited to 'shim.c')
-rw-r--r--shim.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/shim.c b/shim.c
index d387a01d..68456656 100644
--- a/shim.c
+++ b/shim.c
@@ -1222,10 +1222,15 @@ EFI_STATUS init_grub(EFI_HANDLE image_handle)
use_fb ? FALLBACK : second_stage);
}
- // If the filename is invalid, or the file does not exist,
- // just fallback to the default loader.
+ /*
+ * If the filename is invalid, or the file does not exist, just fall
+ * back to the default loader. Also fall back to the default loader
+ * if we get a TFTP error or HTTP error.
+ */
if (!use_fb && (efi_status == EFI_INVALID_PARAMETER ||
- efi_status == EFI_NOT_FOUND)) {
+ efi_status == EFI_NOT_FOUND ||
+ efi_status == EFI_HTTP_ERROR ||
+ efi_status == EFI_TFTP_ERROR)) {
console_print(
L"start_image() returned %r, falling back to default loader\n",
efi_status);