diff options
author | Gene Cumm <gene.cumm@gmail.com> | 2011-04-01 19:49:54 -0400 |
---|---|---|
committer | Gene Cumm <gene.cumm@gmail.com> | 2011-04-01 19:49:54 -0400 |
commit | 823141cd241c419fc7e88e2b10bf0fe800de4bad (patch) | |
tree | 81b9ac155d0beb939f6ee6c46799c4564f308fcb /memdisk | |
parent | 974aa818b35938c36f84c7c5fc75b15d3ebba0c2 (diff) | |
download | syslinux-823141cd241c419fc7e88e2b10bf0fe800de4bad.tar.gz |
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.c | 2 |
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; } |