Any comments would be appreciated. Description: Use msleep() 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/mtd/chips/cfi_cmdset_0002.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) diff -puN drivers/mtd/chips/cfi_cmdset_0002.c~msleep-drivers_mtd_chips_cfi_cmdset_0002 drivers/mtd/chips/cfi_cmdset_0002.c --- kj/drivers/mtd/chips/cfi_cmdset_0002.c~msleep-drivers_mtd_chips_cfi_cmdset_0002 2004-12-25 01:34:38.000000000 +0100 +++ kj-domen/drivers/mtd/chips/cfi_cmdset_0002.c 2004-12-25 01:34:38.000000000 +0100 @@ -1173,8 +1173,7 @@ static inline int do_erase_chip(struct m chip->in_progress_block_addr = adr; cfi_spin_unlock(chip->mutex); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout((chip->erase_time*HZ)/(2*1000)); + msleep(chip->erase_time/2); cfi_spin_lock(chip->mutex); timeo = jiffies + (HZ*20); @@ -1259,8 +1258,7 @@ static inline int do_erase_oneblock(stru chip->in_progress_block_addr = adr; cfi_spin_unlock(chip->mutex); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout((chip->erase_time*HZ)/(2*1000)); + msleep(chip->erase_time/2); cfi_spin_lock(chip->mutex); timeo = jiffies + (HZ*20); _