x86: memtest fix use of reserve_early()
authorDaniele Calore <orkaan@orkaan.org>
Mon, 13 Oct 2008 08:34:12 +0000 (10:34 +0200)
committerIngo Molnar <mingo@elte.hu>
Wed, 22 Oct 2008 15:08:06 +0000 (17:08 +0200)
Hi all,

Wrong usage of 2nd parameter in reserve_early call.
66/75: reserve_early(start_bad, last_bad - start_bad, "BAD RAM");
                                ^^^^^^^^^^^^^^^^^^^^

The correct way is to use 'end' address and not 'size'.
As a bonus a fix to the printk format.

Signed-off-by: Daniele Calore <orkaan@orkaan.org>
Acked-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/mm/memtest.c

index 672e17f8262a28d3fa9a1b3c9c6a734db84693fe..9cab18b0b857e2d199d54d402c4a9dd110a58d5c 100644 (file)
@@ -61,9 +61,9 @@ static void __init memtest(unsigned long start_phys, unsigned long size,
                                last_bad += incr;
                        } else {
                                if (start_bad) {
-                                       printk(KERN_CONT "\n  %010lx bad mem addr %010lx - %010lx reserved",
+                                       printk(KERN_CONT "\n  %016lx bad mem addr %010lx - %010lx reserved",
                                                val, start_bad, last_bad + incr);
-                                       reserve_early(start_bad, last_bad - start_bad, "BAD RAM");
+                                       reserve_early(start_bad, last_bad + incr, "BAD RAM");
                                }
                                start_bad = last_bad = start_phys_aligned;
                        }
@@ -72,9 +72,8 @@ static void __init memtest(unsigned long start_phys, unsigned long size,
        if (start_bad) {
                printk(KERN_CONT "\n  %016lx bad mem addr %010lx - %010lx reserved",
                        val, start_bad, last_bad + incr);
-               reserve_early(start_bad, last_bad - start_bad, "BAD RAM");
+               reserve_early(start_bad, last_bad + incr, "BAD RAM");
        }
-
 }
 
 /* default is disabled */