I would appreciate any comments from the janitor@sternweltens list. This is one (of many) cases where I made a decision about replacing set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(some_time); with msleep(jiffies_to_msecs(some_time)); msleep() is not exactly the same as the previous code, but I only did this replacement where I thought long delays were *desired*. If this is not the case here, then just disregard this patch. Thanks, Nish Description: Uses msleep() instead of schedule_timeout() to guarantee the task delays at least the desired time amount. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Domen Puncer --- kj-domen/drivers/ide/ide-tape.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -puN drivers/ide/ide-tape.c~msleep-drivers_ide_ide-tape drivers/ide/ide-tape.c --- kj/drivers/ide/ide-tape.c~msleep-drivers_ide_ide-tape 2005-01-10 16:57:55.000000000 +0100 +++ kj-domen/drivers/ide/ide-tape.c 2005-01-10 16:57:55.000000000 +0100 @@ -2854,8 +2854,7 @@ static int idetape_wait_ready(ide_drive_ } else if (!(tape->sense_key == 2 && tape->asc == 4 && (tape->ascq == 1 || tape->ascq == 8))) return -EIO; - current->state = TASK_INTERRUPTIBLE; - schedule_timeout(HZ / 10); + msleep(100); } return -EIO; } _