GHES: Carve out the panic functionality
authorBorislav Petkov <bp@suse.de>
Wed, 18 Mar 2015 08:52:39 +0000 (09:52 +0100)
committerBorislav Petkov <bp@suse.de>
Mon, 27 Apr 2015 19:21:46 +0000 (21:21 +0200)
... into another function for more clarity. No functionality change.

Signed-off-by: Borislav Petkov <bp@suse.de>
drivers/acpi/apei/ghes.c

index fe1e41bf5609583bded91bee993e3963e6783175..712ed95b1dcaa8d3da46f4109b19f40931885204 100644 (file)
@@ -823,6 +823,18 @@ static void __process_error(struct ghes *ghes)
 #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)
 {
        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)
                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) {
                if (!(ghes->flags & GHES_TO_CLEAR))