[acpi] Allow time for ACPI power off to take effect

The ACPI power off sequence may not take effect immediately.  Delay
for one second, to eliminate potentially confusing log messages such
as "Could not power off: Error 0x43902001 (http://ipx".

Reported-by: Leonid Vasetsky <leonidv@velostrata.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2016-07-11 21:23:03 +01:00
parent e19c0a8fd2
commit df85901768

View File

@@ -23,6 +23,7 @@
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#include <unistd.h>
#include <errno.h>
#include <byteswap.h>
#include <realmode.h>
@@ -111,6 +112,11 @@ int acpi_poweroff ( void ) {
ACPI_PM1_CNT_SLP_EN ), pm1b_cnt );
}
/* On some systems, execution will continue briefly. Delay to
* avoid potentially confusing log messages.
*/
mdelay ( 1000 );
DBGC ( colour, "ACPI power off failed\n" );
return -EPROTO;
}