Hi, Please consider applying. Description: Use ssleep() instead of schedule_timeout() to guarantee the task delays as expected. The current code uses TASK_INTERRUPTIBLE, but does not check for signals / early return, so ssleep() should be appropriate. I am fairly certain the time conversion is ok, as well. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer --- kj-domen/sound/isa/sb/emu8000.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN sound/isa/sb/emu8000.c~ssleep-sound_isa_sb_emu8000 sound/isa/sb/emu8000.c --- kj/sound/isa/sb/emu8000.c~ssleep-sound_isa_sb_emu8000 2005-01-23 00:24:32.000000000 +0100 +++ kj-domen/sound/isa/sb/emu8000.c 2005-01-23 00:24:33.000000000 +0100 @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -355,8 +356,7 @@ init_arrays(emu8000_t *emu) { send_array(emu, init1, ARRAY_SIZE(init1)/4); - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout((HZ * (44099 + 1024)) / 44100); /* wait for 1024 clocks */ + ssleep(1); send_array(emu, init2, ARRAY_SIZE(init2)/4); send_array(emu, init3, ARRAY_SIZE(init3)/4); _