ALSA: hrtimer: remove superfluous tasklet invocation
authorClemens Ladisch <clemens@ladisch.de>
Thu, 10 Feb 2011 15:16:32 +0000 (16:16 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 10 Feb 2011 17:53:32 +0000 (18:53 +0100)
Commit bb758e9637e5ddc removed snd_hrtimer_callback() from the hardware
interrupt handler, thus moving it into a tasklet, but did not tell the
ALSA timer framework about this, so the timer handling would now be done
in the ALSA timer tasklet scheduled from another tasklet.

To fix this, add the flag to tell the ALSA timer framework that the
timer handler is already being invoked in a tasklet.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/hrtimer.c

index 07efa29..b8b31c4 100644 (file)
@@ -105,7 +105,7 @@ static int snd_hrtimer_stop(struct snd_timer *t)
 }
 
 static struct snd_timer_hardware hrtimer_hw = {
-       .flags =        SNDRV_TIMER_HW_AUTO,
+       .flags =        SNDRV_TIMER_HW_AUTO | SNDRV_TIMER_HW_TASKLET,
        .open =         snd_hrtimer_open,
        .close =        snd_hrtimer_close,
        .start =        snd_hrtimer_start,