aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/boot
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/boot')
-rw-r--r--arch/x86/boot/edd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/boot/edd.c b/arch/x86/boot/edd.c
index d93cbc6464d0..bf4ae6ff518e 100644
--- a/arch/x86/boot/edd.c
+++ b/arch/x86/boot/edd.c
@@ -32,7 +32,9 @@ static int read_mbr(u8 devno, void *buf)
32 : "+a" (ax), "+c" (cx), "+d" (dx), "+b" (bx) 32 : "+a" (ax), "+c" (cx), "+d" (dx), "+b" (bx)
33 : : "esi", "edi", "memory"); 33 : : "esi", "edi", "memory");
34 34
35 return -(u8)ax; /* 0 or -1 */ 35 /* Some BIOSes do not set carry flag on error but still return
36 * error in AH. The condition below is expected to catch both */
37 return -!!ax; /* 0 or -1 */
36} 38}
37 39
38static u32 read_mbr_sig(u8 devno, struct edd_info *ei, u32 *mbrsig) 40static u32 read_mbr_sig(u8 devno, struct edd_info *ei, u32 *mbrsig)