Looks like this is the root cause. I am testing to make sure.

$ git show 86d3a9905f2a1861dcd22b4603e2a6d4e7fe9ebb
commit 86d3a9905f2a1861dcd22b4603e2a6d4e7fe9ebb
Author: Shawn Guo <[email protected]>
Date:   Thu Oct 4 17:12:23 2012 -0700

    kernel/sys.c: call disable_nonboot_cpus() in kernel_restart()
    
    BugLink: http://bugs.launchpad.net/bugs/1066176
    
    commit f96972f2dc6365421cf2366ebd61ee4cf060c8d5 upstream.
    
    As kernel_power_off() calls disable_nonboot_cpus(), we may also want to
    have kernel_restart() call disable_nonboot_cpus().  Doing so can help
    machines that require boot cpu be the last alive cpu during reboot to
    survive with kernel restart.
    
    This fixes one reboot issue seen on imx6q (Cortex-A9 Quad).  The machine
    requires that the restart routine be run on the primary cpu rather than
    secondary ones.  Otherwise, the secondary core running the restart
    routine will fail to come to online after reboot.
    
    Signed-off-by: Shawn Guo <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Signed-off-by: Leann Ogasawara <[email protected]>

diff --git a/kernel/sys.c b/kernel/sys.c
index 2d39a84..0349bde 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -368,6 +368,7 @@ EXPORT_SYMBOL(unregister_reboot_notifier);
 void kernel_restart(char *cmd)
 {
        kernel_restart_prepare(cmd);
+       disable_nonboot_cpus();
        if (!cmd)
                printk(KERN_EMERG "Restarting system.\n");
        else

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1090591

Title:
  armadaXP: Unable to handle kernel NULL pointer dereference at virtual
  address 00000000 on shutdown

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-armadaxp/+bug/1090591/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to