x86: Don't check for BIOS corruption in first 64K when there's no need to
authorNaga Chumbalkar <nagananda.chumbalkar@hp.com>
Fri, 25 Feb 2011 20:31:55 +0000 (20:31 +0000)
committerIngo Molnar <mingo@elte.hu>
Wed, 9 Mar 2011 15:36:41 +0000 (16:36 +0100)
Due to commit 781c5a67f152c17c3e4a9ed9647f8c0be6ea5ae9 it is
likely that the number of areas to scan for BIOS corruption is 0
 -- especially when the first 64K is already reserved
(X86_RESERVE_LOW is 64K by default).

If that's the case then don't set up the scan.

Signed-off-by: Naga Chumbalkar <nagananda.chumbalkar@hp.com>
Cc: <stable@kernel.org>
LKML-Reference: <20110225202838.2229.71011.sendpatchset@nchumbalkar.americas.hpqcorp.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/check.c

index 13a389179514eb4b17c7d5fc6d5100e1996d0770..452932d3473077cabf505d00f96073319c93b983 100644 (file)
@@ -106,8 +106,8 @@ void __init setup_bios_corruption_check(void)
                addr += size;
        }
 
-       printk(KERN_INFO "Scanning %d areas for low memory corruption\n",
-              num_scan_areas);
+       if (num_scan_areas)
+               printk(KERN_INFO "Scanning %d areas for low memory corruption\n", num_scan_areas);
 }
 
 
@@ -143,12 +143,12 @@ static void check_corruption(struct work_struct *dummy)
 {
        check_for_bios_corruption();
        schedule_delayed_work(&bios_check_work,
-               round_jiffies_relative(corruption_check_period*HZ)); 
+               round_jiffies_relative(corruption_check_period*HZ));
 }
 
 static int start_periodic_check_for_corruption(void)
 {
-       if (!memory_corruption_check || corruption_check_period == 0)
+       if (!num_scan_areas || !memory_corruption_check || corruption_check_period == 0)
                return 0;
 
        printk(KERN_INFO "Scanning for low memory corruption every %d seconds\n",