]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 25 Dec 2010 13:09:36 +0000 (14:09 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 25 Dec 2010 13:09:36 +0000 (14:09 +0100)
writing an error message because of async power management.
* grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
(grub_reboot): Likewise.

ChangeLog
grub-core/commands/acpihalt.c
grub-core/kern/mips/yeeloong/init.c

index 79eeae3876fb76fa46f86c1f92e7c6135b984fff..452455966b1db9cd68402be6ce3ba295a567e874 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
+       writing an error message because of async power management.
+       * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
+       (grub_reboot): Likewise.
+
 2010-12-23  Jordan Uggla  <jordan.uggla@gmail.com>
 
        * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
index 2789e2eca1d3e506458cf0f0fe9b4aa2e0daba6f..9a4cda521d294e94f58bd3d9e2dfeb7aa7fa9f16 100644 (file)
@@ -36,6 +36,7 @@ typedef uint8_t grub_uint8_t;
 
 #ifndef GRUB_DSDT_TEST
 #include <grub/misc.h>
+#include <grub/time.h>
 #include <grub/cpu/io.h>
 #endif
 
@@ -324,6 +325,8 @@ grub_acpi_halt (void)
        }
     }
 
+  grub_millisleep (1500);
+
   grub_printf ("ACPI shutdown failed\n");
 }
 #endif
index cc7c168066bca154bcffae23e80e1a10339ddc7a..cadb107730c1c8f06be127ebc8d3c69bd6289907 100644 (file)
@@ -223,6 +223,8 @@ grub_halt (void)
   grub_outb (grub_inb (GRUB_CPU_LOONGSON_GPIOCFG)
             & ~GRUB_CPU_LOONGSON_SHUTDOWN_GPIO, GRUB_CPU_LOONGSON_GPIOCFG);
 
+  grub_millisleep (1500);
+
   grub_printf ("Shutdown failed\n");
   grub_refresh ();
   while (1);
@@ -239,6 +241,8 @@ grub_reboot (void)
 {
   grub_write_ec (GRUB_MACHINE_EC_COMMAND_REBOOT);
 
+  grub_millisleep (1500);
+
   grub_printf ("Reboot failed\n");
   grub_refresh ();
   while (1);