goldfish/timer: Properly restore IRQ
Ensure the timer's IRQ is lowered on load if the reloaded alarm
has not fired yet.
Change-Id: I089a3b74d4528a3779ed7b977d52d29dbe7b6db5
diff --git a/hw/android/goldfish/timer.c b/hw/android/goldfish/timer.c
index afdd8a5..d4dd5f8 100644
--- a/hw/android/goldfish/timer.c
+++ b/hw/android/goldfish/timer.c
@@ -38,7 +38,7 @@
static void goldfish_timer_save(QEMUFile* f, void* opaque)
{
- struct timer_state* s = opaque;
+ struct timer_state* s = opaque;
qemu_put_be64(f, s->now_ns); /* in case the kernel is in the middle of a timer read */
qemu_put_byte(f, s->armed);
@@ -67,6 +67,7 @@
goldfish_device_set_irq(&s->dev, 0, 1);
s->armed = 0;
} else {
+ goldfish_device_set_irq(&s->dev, 0, 0);
timer_mod(s->timer, alarm_tks);
}
}