[PATCH] x86: check function status in EDD boot code

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Jan Beulich
Date: Friday, July 18, 2008 - 5:35 am

Without checking the return value of get_edd_info() and adding the
entry only in the success case, 6 devices show up under
/sys/firmware/edd/, no matter how many devices are actually present.

Signed-off-by: Jan Beulich <jbeulich@novell.com>

---
 arch/x86/boot/edd.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

--- linux-2.6.26/arch/x86/boot/edd.c	2008-07-13 23:51:29.000000000 +0200
+++ 2.6.26-x86-edd/arch/x86/boot/edd.c	2008-07-15 19:20:52.000000000 +0200
@@ -167,9 +167,8 @@ void query_edd(void)
 		 * Scan the BIOS-supported hard disks and query EDD
 		 * information...
 		 */
-		get_edd_info(devno, &ei);
-
-		if (boot_params.eddbuf_entries < EDDMAXNR) {
+		if (!get_edd_info(devno, &ei)
+		    && boot_params.eddbuf_entries < EDDMAXNR) {
 			memcpy(edp, &ei, sizeof ei);
 			edp++;
 			boot_params.eddbuf_entries++;



--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] x86: check function status in EDD boot code, Jan Beulich, (Fri Jul 18, 5:35 am)
Re: [PATCH] x86: check function status in EDD boot code, H. Peter Anvin, (Fri Jul 18, 2:33 pm)