diff options
Diffstat (limited to 'arch/x86/boot/a20.c')
-rw-r--r-- | arch/x86/boot/a20.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/x86/boot/a20.c b/arch/x86/boot/a20.c index 90943f83e84d..4063d630deff 100644 --- a/arch/x86/boot/a20.c +++ b/arch/x86/boot/a20.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* -*- linux-c -*- ------------------------------------------------------- * | 1 | /* -*- linux-c -*- ------------------------------------------------------- * |
2 | * | 2 | * |
3 | * Copyright (C) 1991, 1992 Linus Torvalds | 3 | * Copyright (C) 1991, 1992 Linus Torvalds |
4 | * Copyright 2007 rPath, Inc. - All Rights Reserved | 4 | * Copyright 2007-2008 rPath, Inc. - All Rights Reserved |
5 | * | 5 | * |
6 | * This file is part of the Linux kernel, and is made available under | 6 | * This file is part of the Linux kernel, and is made available under |
7 | * the terms of the GNU General Public License version 2. | 7 | * the terms of the GNU General Public License version 2. |
@@ -95,6 +95,9 @@ static void enable_a20_kbc(void) | |||
95 | 95 | ||
96 | outb(0xdf, 0x60); /* A20 on */ | 96 | outb(0xdf, 0x60); /* A20 on */ |
97 | empty_8042(); | 97 | empty_8042(); |
98 | |||
99 | outb(0xff, 0x64); /* Null command, but UHCI wants it */ | ||
100 | empty_8042(); | ||
98 | } | 101 | } |
99 | 102 | ||
100 | static void enable_a20_fast(void) | 103 | static void enable_a20_fast(void) |
@@ -115,8 +118,6 @@ static void enable_a20_fast(void) | |||
115 | 118 | ||
116 | int enable_a20(void) | 119 | int enable_a20(void) |
117 | { | 120 | { |
118 | int loops = A20_ENABLE_LOOPS; | ||
119 | |||
120 | #if defined(CONFIG_X86_ELAN) | 121 | #if defined(CONFIG_X86_ELAN) |
121 | /* Elan croaks if we try to touch the KBC */ | 122 | /* Elan croaks if we try to touch the KBC */ |
122 | enable_a20_fast(); | 123 | enable_a20_fast(); |
@@ -128,6 +129,7 @@ int enable_a20(void) | |||
128 | enable_a20_kbc(); | 129 | enable_a20_kbc(); |
129 | return 0; | 130 | return 0; |
130 | #else | 131 | #else |
132 | int loops = A20_ENABLE_LOOPS; | ||
131 | while (loops--) { | 133 | while (loops--) { |
132 | /* First, check to see if A20 is already enabled | 134 | /* First, check to see if A20 is already enabled |
133 | (legacy free, etc.) */ | 135 | (legacy free, etc.) */ |