Of course I forgot the patch. It's now attached. jack.
diff -u -r1.53 seq_timer.c --- seq/seq_timer.c 2001/06/06 17:46:51 1.53 +++ seq/seq_timer.c 2001/09/16 22:52:54 @@ -151,7 +151,7 @@ if (!tmr->running) return; - resolution = tmr->period; + tmr->period = resolution; spin_lock_irqsave(&tmr->lock, flags); @@ -289,7 +289,11 @@ tmp = 1000000000UL / tmr->resolution; if (t->timer->hw.flags & SNDRV_TIMER_HW_SLAVE) { tmr->ticks = 1; - tmr->period = tmr->base_period = tmp; + if (t->timer->tmr_class == SNDRV_TIMER_CLASS_PCM) { + tmr->period = tmr->base_period = +t->timer->hw.c_resolution(t->timer); + } else { + tmr->period = tmr->base_period = tmp; + } } else { tmp1 = snd_timer_resolution(t); if (tmp1 >= tmp) {