From: "Andi Kleen" This fixes the erroneous No mptables found printk on x86_64 mpparse. We will only print the message now if no mptables are found after all scans complete. Signed-off-by: Justin M. Forbes Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton --- 25-akpm/arch/x86_64/kernel/mpparse.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) diff -puN arch/x86_64/kernel/mpparse.c~x86_64-fix-mptables-printk arch/x86_64/kernel/mpparse.c --- 25/arch/x86_64/kernel/mpparse.c~x86_64-fix-mptables-printk 2005-01-09 23:01:31.223636392 -0800 +++ 25-akpm/arch/x86_64/kernel/mpparse.c 2005-01-09 23:01:31.228635632 -0800 @@ -576,7 +576,6 @@ static int __init smp_scan_config (unsig extern void __bad_mpf_size(void); unsigned int *bp = phys_to_virt(base); struct intel_mp_floating *mpf; - static int printed __initdata; Dprintk("Scan SMP from %p for %ld bytes.\n", bp,length); if (sizeof(*mpf) != 16) @@ -600,10 +599,6 @@ static int __init smp_scan_config (unsig bp += 4; length -= 16; } - if (!printed) { - printk(KERN_INFO "No mptable found.\n"); - printed = 1; - } return 0; } @@ -640,7 +635,11 @@ void __init find_intel_smp (void) address = *(unsigned short *)phys_to_virt(0x40E); address <<= 4; - smp_scan_config(address, 0x1000); + if (smp_scan_config(address, 0x1000)) + return; + + /* If we have come this far, we did not find an MP table */ + printk(KERN_INFO "No mptable found.\n"); } /* _