summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Osipenko2016-09-22 19:13:06 +0200
committerPeter Maydell2016-09-22 19:13:06 +0200
commit780d23e54e4a62c1bc37641b72e0188b6d13e861 (patch)
treef998676aa6aeed022077b0fd21f61b8dd9f350d9
parentaspeed: allocate RAM after the memory controller has checked the size (diff)
downloadqemu-780d23e54e4a62c1bc37641b72e0188b6d13e861.tar.gz
qemu-780d23e54e4a62c1bc37641b72e0188b6d13e861.tar.xz
qemu-780d23e54e4a62c1bc37641b72e0188b6d13e861.zip
hw/ptimer: Actually stop the timer in case of error
Running with counter / period = 0 is treated as a error case, printing error message claiming that timer has been disabled. However, timer is only marked as disabled, keeping to tick till expired and triggering after being claimed as disabled. Stop the QEMU timer to avoid confusion. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Message-id: 1e9bae4fae3c36430d7c28b0f486a0c71aff7eb3.1473252818.git.digetx@gmail.com Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--hw/core/ptimer.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/core/ptimer.c b/hw/core/ptimer.c
index 30829ee97b..02c313542d 100644
--- a/hw/core/ptimer.c
+++ b/hw/core/ptimer.c
@@ -44,6 +44,7 @@ static void ptimer_reload(ptimer_state *s)
}
if (s->delta == 0 || s->period == 0) {
fprintf(stderr, "Timer with period zero, disabling\n");
+ timer_del(s->timer);
s->enabled = 0;
return;
}