]> err.no Git - linux-2.6/blobdiff - kernel/sys.c
[PATCH] largefile support for accounting
[linux-2.6] / kernel / sys.c
index 7e033809ef5fdd5406803bb7f6abf5bbdbaf8a75..0bcaed6560ac19f72ab308b2fe92839238e9ba70 100644 (file)
@@ -361,11 +361,16 @@ out_unlock:
        return retval;
 }
 
+void emergency_restart(void)
+{
+       machine_emergency_restart();
+}
+EXPORT_SYMBOL_GPL(emergency_restart);
+
 void kernel_restart(char *cmd)
 {
        notifier_call_chain(&reboot_notifier_list, SYS_RESTART, cmd);
        system_state = SYSTEM_RESTART;
-       device_suspend(PMSG_FREEZE);
        device_shutdown();
        if (!cmd) {
                printk(KERN_EMERG "Restarting system.\n");
@@ -387,7 +392,6 @@ void kernel_kexec(void)
        }
        notifier_call_chain(&reboot_notifier_list, SYS_RESTART, NULL);
        system_state = SYSTEM_RESTART;
-       device_suspend(PMSG_FREEZE);
        device_shutdown();
        printk(KERN_EMERG "Starting new kernel\n");
        machine_shutdown();
@@ -400,7 +404,6 @@ void kernel_halt(void)
 {
        notifier_call_chain(&reboot_notifier_list, SYS_HALT, NULL);
        system_state = SYSTEM_HALT;
-       device_suspend(PMSG_SUSPEND);
        device_shutdown();
        printk(KERN_EMERG "System halted.\n");
        machine_halt();
@@ -411,7 +414,6 @@ void kernel_power_off(void)
 {
        notifier_call_chain(&reboot_notifier_list, SYS_POWER_OFF, NULL);
        system_state = SYSTEM_POWER_OFF;
-       device_suspend(PMSG_SUSPEND);
        device_shutdown();
        printk(KERN_EMERG "Power down.\n");
        machine_power_off();
@@ -502,8 +504,7 @@ asmlinkage long sys_reboot(int magic1, int magic2, unsigned int cmd, void __user
 
 static void deferred_cad(void *dummy)
 {
-       notifier_call_chain(&reboot_notifier_list, SYS_RESTART, NULL);
-       machine_restart(NULL);
+       kernel_restart(NULL);
 }
 
 /*