static int rtctimer_freq = RTC_FREQ;           /* frequency */
 static snd_timer_t *rtctimer;
-static atomic_t rtc_inc = ATOMIC_INIT(0);
 static rtc_task_t rtc_task;
 
 
        snd_assert(rtc != NULL, return -EINVAL);
        rtc_control(rtc, RTC_IRQP_SET, rtctimer_freq);
        rtc_control(rtc, RTC_PIE_ON, 0);
-       atomic_set(&rtc_inc, 0);
        return 0;
 }
 
  */
 static void rtctimer_interrupt(void *private_data)
 {
-       int ticks;
-
-       atomic_inc(&rtc_inc);
-       ticks = atomic_read(&rtc_inc);
-       snd_timer_interrupt((snd_timer_t*)private_data, ticks);
-       atomic_sub(ticks, &rtc_inc);
+       snd_timer_interrupt(private_data, 1);
 }