aboutsummaryrefslogtreecommitdiffstats
path: root/memdisk
diff options
context:
space:
mode:
authorGene Cumm <gene.cumm@gmail.com>2011-04-01 19:49:54 -0400
committerGene Cumm <gene.cumm@gmail.com>2011-04-01 19:49:54 -0400
commit823141cd241c419fc7e88e2b10bf0fe800de4bad (patch)
tree81b9ac155d0beb939f6ee6c46799c4564f308fcb /memdisk
parent974aa818b35938c36f84c7c5fc75b15d3ebba0c2 (diff)
downloadsyslinux-823141cd241c419fc7e88e2b10bf0fe800de4bad.tar.gz
syslinux-823141cd241c419fc7e88e2b10bf0fe800de4bad.tar.xz
syslinux-823141cd241c419fc7e88e2b10bf0fe800de4bad.zip
memdisk/dskprobe.c: Add status check to probes 08h and 41h
If this fails, the machine should never be working. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
Diffstat (limited to 'memdisk')
-rw-r--r--memdisk/dskprobe.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/memdisk/dskprobe.c b/memdisk/dskprobe.c
index a3c26811..460bf647 100644
--- a/memdisk/dskprobe.c
+++ b/memdisk/dskprobe.c
@@ -95,6 +95,7 @@ static int probe_int13h_08h(uint8_t drive, com32sys_t * regs)
regs->ebx.b[0], regs->edx.b[0]);
present = !(regs->eflags.l & 1) && !regs->eax.b[1];
status = probe_int13h_01h(drive);
+ present = present && !(probe_int13h_01h_fail(status));
dskprobe_printf(" P%d\n", present);
return present;
}
@@ -135,6 +136,7 @@ static int probe_int13h_41h(uint8_t drive, com32sys_t * regs)
regs->ecx.w[0], regs->edx.b[1]);
present = !(regs->eflags.l & 1) && (regs->ebx.w[0] == 0xAA55);
status = probe_int13h_01h(drive);
+ present = present && !(probe_int13h_01h_fail(status));
dskprobe_printf(" P%d\n", present);
return present;
}