Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Domen Puncer --- kj-domen/drivers/parport/ieee1284.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -puN drivers/parport/ieee1284.c~msleep_interruptible-drivers_parport_ieee1284 drivers/parport/ieee1284.c --- kj/drivers/parport/ieee1284.c~msleep_interruptible-drivers_parport_ieee1284 2005-04-05 12:55:27.000000000 +0200 +++ kj-domen/drivers/parport/ieee1284.c 2005-04-05 12:55:27.000000000 +0200 @@ -216,8 +216,7 @@ int parport_wait_peripheral(struct parpo /* parport_wait_event didn't time out, but the * peripheral wasn't actually ready either. * Wait for another 10ms. */ - __set_current_state (TASK_INTERRUPTIBLE); - schedule_timeout ((HZ+ 99) / 100); + msleep_interruptible(10); } } _