Module Name:    src
Committed By:   nonaka
Date:           Tue Mar 20 10:19:33 UTC 2018

Modified Files:
        src/sys/arch/i386/stand/efiboot: efidisk.c

Log Message:
efiboot: boot device is always efi_distlist first element.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 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.2 src/sys/arch/i386/stand/efiboot/efidisk.c:1.3
--- src/sys/arch/i386/stand/efiboot/efidisk.c:1.2	Thu Mar  8 10:34:33 2018
+++ src/sys/arch/i386/stand/efiboot/efidisk.c	Tue Mar 20 10:19:33 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: efidisk.c,v 1.2 2018/03/08 10:34:33 nonaka Exp $	*/
+/*	$NetBSD: efidisk.c,v 1.3 2018/03/20 10:19:33 nonaka Exp $	*/
 
 /*-
  * Copyright (c) 2016 Kimihiro Nonaka <non...@netbsd.org>
@@ -106,14 +106,11 @@ next:
 	FreePool(handles);
 
 	if (efi_bootdp_type == BIOSDISK_TYPE_CD) {
-		TAILQ_FOREACH(edi, &efi_disklist, list) {
-			if (edi->bootdev) {
-				edi = TAILQ_FIRST(&efi_disklist);
-				edi->type = BIOSDISK_TYPE_CD;
-				TAILQ_REMOVE(&efi_disklist, edi, list);
-				TAILQ_INSERT_TAIL(&efi_disklist, edi, list);
-				break;
-			}
+		edi = TAILQ_FIRST(&efi_disklist);
+		if (edi != NULL && edi->bootdev) {
+			edi->type = BIOSDISK_TYPE_CD;
+			TAILQ_REMOVE(&efi_disklist, edi, list);
+			TAILQ_INSERT_TAIL(&efi_disklist, edi, list);
 		}
 	}
 

Reply via email to