فهرست منبع

GHES: Carve out the panic functionality

... into another function for more clarity. No functionality change.

Signed-off-by: Borislav Petkov <bp@suse.de>
Borislav Petkov 10 سال پیش
والد
کامیت
e10be03f60
1فایلهای تغییر یافته به همراه14 افزوده شده و 10 حذف شده
  1. 14 10
      drivers/acpi/apei/ghes.c

+ 14 - 10
drivers/acpi/apei/ghes.c

@@ -823,6 +823,18 @@ static void __process_error(struct ghes *ghes)
 #endif
 #endif
 }
 }
 
 
+static void __ghes_panic(struct ghes *ghes)
+{
+	oops_begin();
+	ghes_print_queued_estatus();
+	__ghes_print_estatus(KERN_EMERG, ghes->generic, ghes->estatus);
+
+	/* reboot to log the error! */
+	if (panic_timeout == 0)
+		panic_timeout = ghes_panic_timeout;
+	panic("Fatal hardware error!");
+}
+
 static int ghes_notify_nmi(unsigned int cmd, struct pt_regs *regs)
 static int ghes_notify_nmi(unsigned int cmd, struct pt_regs *regs)
 {
 {
 	struct ghes *ghes, *ghes_global = NULL;
 	struct ghes *ghes, *ghes_global = NULL;
@@ -846,16 +858,8 @@ static int ghes_notify_nmi(unsigned int cmd, struct pt_regs *regs)
 	if (ret == NMI_DONE)
 	if (ret == NMI_DONE)
 		goto out;
 		goto out;
 
 
-	if (sev_global >= GHES_SEV_PANIC) {
-		oops_begin();
-		ghes_print_queued_estatus();
-		__ghes_print_estatus(KERN_EMERG, ghes_global->generic,
-				     ghes_global->estatus);
-		/* reboot to log the error! */
-		if (panic_timeout == 0)
-			panic_timeout = ghes_panic_timeout;
-		panic("Fatal hardware error!");
-	}
+	if (sev_global >= GHES_SEV_PANIC)
+		__ghes_panic(ghes_global);
 
 
 	list_for_each_entry_rcu(ghes, &ghes_nmi, list) {
 	list_for_each_entry_rcu(ghes, &ghes_nmi, list) {
 		if (!(ghes->flags & GHES_TO_CLEAR))
 		if (!(ghes->flags & GHES_TO_CLEAR))