mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
x86/suspend: disable watchdog before calling console_start_sync()
... and enable it after exiting S-state. Otherwise accumulated
output in serial buffer might easily trigger the watchdog if it's
still enabled after entering sync transmission mode.
The issue observed on machines which, unfortunately, generate non-0
output in CPU offline callbacks.
Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
master commit: 5e08f5f56c
master date: 2020-01-29 15:06:10 +0100
This commit is contained in:
1 parent
c080e5b43d
commit
c0d0b4ee2b
1 file changed
+4
@@ -23,6 +23,7 @@
|
||||
#include <xen/domain.h>
|
||||
#include <xen/console.h>
|
||||
#include <xen/iommu.h>
|
||||
#include <xen/watchdog.h>
|
||||
#include <xen/cpu.h>
|
||||
#include <public/platform.h>
|
||||
#include <asm/tboot.h>
|
||||
@@ -223,6 +224,7 @@ static int enter_state(u32 state)
|
||||
|
||||
acpi_sleep_prepare(state);
|
||||
|
||||
watchdog_disable();
|
||||
console_start_sync();
|
||||
printk("Entering ACPI S%d state.\n", state);
|
||||
|
||||
@@ -235,6 +237,7 @@ static int enter_state(u32 state)
|
||||
system_state = SYS_STATE_resume;
|
||||
device_power_up(error);
|
||||
console_end_sync();
|
||||
watchdog_enable();
|
||||
error = -EIO;
|
||||
goto done;
|
||||
}
|
||||
@@ -281,6 +284,7 @@ static int enter_state(u32 state)
|
||||
tboot_s3_error(error);
|
||||
|
||||
console_end_sync();
|
||||
watchdog_enable();
|
||||
|
||||
microcode_update_one(true);
|
||||
|
||||
|
||||