From 3233c35926ee235cf3da5908eae331e2aba1597f Mon Sep 17 00:00:00 2001 From: jmcneill Date: Fri, 24 Aug 2018 23:19:42 +0000 Subject: [PATCH] If the boot device could not be determined, use the first one found as the default. While here, remove unnecessary calls to LibFileSystemInfo(). --- sys/stand/efiboot/efifile.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sys/stand/efiboot/efifile.c b/sys/stand/efiboot/efifile.c index e3ddcfedd0b9..f16b35833b52 100644 --- a/sys/stand/efiboot/efifile.c +++ b/sys/stand/efiboot/efifile.c @@ -1,4 +1,4 @@ -/* $NetBSD: efifile.c,v 1.1 2018/08/24 02:01:06 jmcneill Exp $ */ +/* $NetBSD: efifile.c,v 1.2 2018/08/24 23:19:42 jmcneill Exp $ */ /*- * Copyright (c) 2018 Jared McNeill @@ -62,7 +62,6 @@ efi_file_parse(const char *fname, UINTN *pvol, const char **pfile) void efi_file_system_probe(void) { - EFI_FILE_SYSTEM_INFO *fsi; EFI_FILE_HANDLE fh; EFI_STATUS status; int n; @@ -76,12 +75,10 @@ efi_file_system_probe(void) if (!fh) continue; - fsi = LibFileSystemInfo(fh); - if (!fsi) - continue; - if (efi_bootdp && LibMatchDevicePaths(DevicePathFromHandle(efi_vol[n]), efi_bootdp) == TRUE) efi_bootvol = n; + else if (efi_bootdp == NULL && efi_bootvol == -1) + efi_bootvol = n; } }