[PATCH] osst: use msleep() instead of schedule_timeout() From: Nishanth Aravamudan Replace schedule_timeout() with msleep() to guarantee the task delays as expected. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Alexey Dobriyan Index: linux-kj/drivers/scsi/osst.c =================================================================== --- linux-kj.orig/drivers/scsi/osst.c 2005-10-01 02:57:15.000000000 +0400 +++ linux-kj/drivers/scsi/osst.c 2005-10-01 02:59:21.000000000 +0400 @@ -863,8 +863,7 @@ static int osst_recover_wait_frame(struc retval = osst_write_error_recovery(STp, aSRpnt, 0); break; } - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout (HZ / OSST_POLL_PER_SEC); + msleep(1000 / OSST_POLL_PER_SEC); STp->buffer->b_data = mybuf; STp->buffer->buffer_size = 24; memset(cmd, 0, MAX_COMMAND_SIZE); @@ -1559,8 +1558,7 @@ static int osst_reposition_and_retry(str osst_set_frame_position(STp, aSRpnt, frame + skip, 1); flag = 0; attempts--; - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ / 10); + msleep(100); } if (osst_get_frame_position(STp, aSRpnt) < 0) { /* additional write error */ #if DEBUG @@ -1621,8 +1619,7 @@ static int osst_reposition_and_retry(str debugging = 0; } #endif - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ / 10); + msleep(100); } printk(KERN_ERR "%s:E: Failed to find valid tape media\n", name); #if DEBUG