aboutsummaryrefslogtreecommitdiff
path: root/hw/core
diff options
context:
space:
mode:
authorDmitry Osipenko <digetx@gmail.com>2016-09-22 18:13:06 +0100
committerPeter Maydell <peter.maydell@linaro.org>2016-09-22 18:13:06 +0100
commit780d23e54e4a62c1bc37641b72e0188b6d13e861 (patch)
treef998676aa6aeed022077b0fd21f61b8dd9f350d9 /hw/core
parentde46f5f46c1bb169045432a8208a9e10a662b55d (diff)
downloadqemu-780d23e54e4a62c1bc37641b72e0188b6d13e861.zip
qemu-780d23e54e4a62c1bc37641b72e0188b6d13e861.tar.gz
qemu-780d23e54e4a62c1bc37641b72e0188b6d13e861.tar.bz2
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>
Diffstat (limited to 'hw/core')
-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 30829ee..02c3135 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;
}