]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/blobdiff - arch/x86/kernel/cpu/mtrr/main.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
[can-eth-gw-linux.git] / arch / x86 / kernel / cpu / mtrr / main.c
index 6b96110bb0c33078bdc05de2b727fc5bcb03eb71..726bf963c2276569c39c67377b64fd7a74fb539e 100644 (file)
@@ -606,7 +606,7 @@ void __init mtrr_bp_init(void)
 
                /*
                 * This is an AMD specific MSR, but we assume(hope?) that
-                * Intel will implement it to when they extend the address
+                * Intel will implement it too when they extend the address
                 * bus of the Xeon.
                 */
                if (cpuid_eax(0x80000000) >= 0x80000008) {
@@ -695,11 +695,16 @@ void mtrr_ap_init(void)
 }
 
 /**
- * Save current fixed-range MTRR state of the BSP
+ * Save current fixed-range MTRR state of the first cpu in cpu_online_mask.
  */
 void mtrr_save_state(void)
 {
-       smp_call_function_single(0, mtrr_save_fixed_ranges, NULL, 1);
+       int first_cpu;
+
+       get_online_cpus();
+       first_cpu = cpumask_first(cpu_online_mask);
+       smp_call_function_single(first_cpu, mtrr_save_fixed_ranges, NULL, 1);
+       put_online_cpus();
 }
 
 void set_mtrr_aps_delayed_init(void)