Module Name:    src
Committed By:   martin
Date:           Wed Apr 17 15:55:00 UTC 2019

Modified Files:
        src/sys/arch/i386/stand/efiboot [netbsd-8]: efidisk.c

Log Message:
Pull up following revision(s) (requested by nonaka in ticket #1231):

        sys/arch/i386/stand/efiboot/efidisk.c: revision 1.7

efiboot: Don't panic when BLOCK_IO_PROTOCOL is not found.

It has been reported that there is a machine where BLOCK_IO_PROTOCOL
can not be found when network boot without disk.


To generate a diff of this commit:
cvs rdiff -u -r1.1.12.5 -r1.1.12.6 src/sys/arch/i386/stand/efiboot/efidisk.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/i386/stand/efiboot/efidisk.c
diff -u src/sys/arch/i386/stand/efiboot/efidisk.c:1.1.12.5 src/sys/arch/i386/stand/efiboot/efidisk.c:1.1.12.6
--- src/sys/arch/i386/stand/efiboot/efidisk.c:1.1.12.5	Wed Apr 11 14:51:43 2018
+++ src/sys/arch/i386/stand/efiboot/efidisk.c	Wed Apr 17 15:55:00 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: efidisk.c,v 1.1.12.5 2018/04/11 14:51:43 martin Exp $	*/
+/*	$NetBSD: efidisk.c,v 1.1.12.6 2019/04/17 15:55:00 martin Exp $	*/
 
 /*-
  * Copyright (c) 2016 Kimihiro Nonaka <non...@netbsd.org>
@@ -57,8 +57,7 @@ efi_disk_probe(void)
 	status = LibLocateHandle(ByProtocol, &BlockIoProtocol, NULL,
 	    &nhandles, &handles);
 	if (EFI_ERROR(status))
-		panic("LocateHandle(BlockIoProtocol): %" PRIxMAX,
-		    (uintmax_t)status);
+		return;
 
 	if (efi_bootdp != NULL)
 		depth = efi_device_path_depth(efi_bootdp, MEDIA_DEVICE_PATH);
@@ -76,8 +75,7 @@ efi_disk_probe(void)
 		status = uefi_call_wrapper(BS->HandleProtocol, 3, handles[i],
 		    &BlockIoProtocol, (void **)&bio);
 		if (EFI_ERROR(status))
-			panic("HandleProtocol(BlockIoProtocol): %" PRIxMAX,
-			    (uintmax_t)status);
+			continue;
 
 		media = bio->Media;
 		if (media->LogicalPartition || !media->MediaPresent)

Reply via email to