Use msleep_interruptible() instead of custom wait code involving schedule_timeout() to guarantee the task delays as expected. This also removes a dependence on the value of HZ. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer --- kj-domen/sound/isa/gus/gus_reset.c | 7 +------ 1 files changed, 1 insertion(+), 6 deletions(-) diff -puN sound/isa/gus/gus_reset.c~msleep_interruptible-sound_isa_gus_gus_reset sound/isa/gus/gus_reset.c --- kj/sound/isa/gus/gus_reset.c~msleep_interruptible-sound_isa_gus_gus_reset 2005-03-02 10:43:25.000000000 +0100 +++ kj-domen/sound/isa/gus/gus_reset.c 2005-03-02 10:43:25.000000000 +0100 @@ -207,7 +207,6 @@ void snd_gf1_stop_voices(snd_gus_card_t unsigned long flags; short i, ramp_ok; unsigned short ramp_end; - long time; if (!in_interrupt()) { /* this can't be done in interrupt */ for (i = v_min, ramp_ok = 0; i <= v_max; i++) { @@ -227,11 +226,7 @@ void snd_gf1_stop_voices(snd_gus_card_t } spin_unlock_irqrestore(&gus->reg_lock, flags); } - time = HZ / 20; - while (time > 0 && !signal_pending(current)) { - set_current_state(TASK_INTERRUPTIBLE); - time = schedule_timeout(time); - } + msleep_interruptible(50); } snd_gf1_clear_voices(gus, v_min, v_max); } _