Browse Source

EDAC, mce_amd_inj: Move bit preparations before the injection

We do get_online_cpus() and then start noodling with the bits. Do that
*before* we grab the hotplug lock.

Signed-off-by: Borislav Petkov <bp@suse.de>
Borislav Petkov 10 years ago
parent
commit
6d1e9bf5b0
1 changed files with 4 additions and 4 deletions
  1. 4 4
      drivers/edac/mce_amd_inj.c

+ 4 - 4
drivers/edac/mce_amd_inj.c

@@ -196,16 +196,16 @@ static void do_inject(void)
 		return;
 	}
 
-	get_online_cpus();
-	if (!cpu_online(cpu))
-		goto err;
-
 	/* prep MCE global settings for the injection */
 	mcg_status = MCG_STATUS_MCIP | MCG_STATUS_EIPV;
 
 	if (!(i_mce.status & MCI_STATUS_PCC))
 		mcg_status |= MCG_STATUS_RIPV;
 
+	get_online_cpus();
+	if (!cpu_online(cpu))
+		goto err;
+
 	toggle_hw_mce_inject(cpu, true);
 
 	wrmsr_on_cpu(cpu, MSR_IA32_MCG_STATUS,