return -ENOMEM;
        hrtimer_init(&stime->hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
        stime->timer = t;
-       stime->hrt.cb_mode = HRTIMER_CB_SOFTIRQ;
+       stime->hrt.cb_mode = HRTIMER_CB_IRQSAFE_UNLOCKED;
        stime->hrt.function = snd_hrtimer_callback;
        t->private_data = stime;
        return 0;
 }
 
 static struct snd_timer_hardware hrtimer_hw = {
-       .flags =        (SNDRV_TIMER_HW_AUTO |
-                        /*SNDRV_TIMER_HW_FIRST |*/
-                        SNDRV_TIMER_HW_TASKLET),
+       .flags =        SNDRV_TIMER_HW_AUTO,
        .open =         snd_hrtimer_open,
        .close =        snd_hrtimer_close,
        .start =        snd_hrtimer_start,