aboutsummaryrefslogtreecommitdiffstats
path: root/sound/core
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2006-07-17 10:53:57 -0400
committerJaroslav Kysela <perex@suse.cz>2006-09-23 04:38:13 -0400
commitcd93fe4770ca607c7f39260c02941deccbd77b8b (patch)
tree7f2fc78b8815d88de991160feb7574120cd47aed /sound/core
parentde2696d8bc9c81874b3743e0c27708760cb7fb52 (diff)
[ALSA] timer: fix timer rescheduling
When checking whether a hardware timer needs to be rescheduled, we have to compare against the previously scheduled interval and not against the actual interval between the last two interrupts. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/core')
-rw-r--r--sound/core/timer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/core/timer.c b/sound/core/timer.c
index 4fcc8549e4a6..3a2f8e2ca401 100644
--- a/sound/core/timer.c
+++ b/sound/core/timer.c
@@ -718,7 +718,7 @@ void snd_timer_interrupt(struct snd_timer * timer, unsigned long ticks_left)
718 } 718 }
719 } 719 }
720 if (timer->flags & SNDRV_TIMER_FLG_RESCHED) 720 if (timer->flags & SNDRV_TIMER_FLG_RESCHED)
721 snd_timer_reschedule(timer, ticks_left); 721 snd_timer_reschedule(timer, timer->sticks);
722 if (timer->running) { 722 if (timer->running) {
723 if (timer->hw.flags & SNDRV_TIMER_HW_STOP) { 723 if (timer->hw.flags & SNDRV_TIMER_HW_STOP) {
724 timer->hw.stop(timer); 724 timer->hw.stop(timer);