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 <[email protected]>
@@ -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);
}
}