]> git.hungrycats.org Git - linux/commitdiff
[PATCH] x86_64: Fix mptables printk
authorAndi Kleen <ak@suse.de>
Tue, 11 Jan 2005 09:49:32 +0000 (01:49 -0800)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Tue, 11 Jan 2005 09:49:32 +0000 (01:49 -0800)
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 <jmforbes@linuxtx.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/kernel/mpparse.c

index 1f415db882d1880067d6fb1ee95b4121c57fdb2b..7f5f57e54740129308504738b0a2c75c7be6c7b6 100644 (file)
@@ -576,7 +576,6 @@ static int __init smp_scan_config (unsigned long base, unsigned long length)
        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 (unsigned long base, unsigned long length)
                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");
 }
 
 /*