Hi, In continuing to replace, where appropriate, code with msleep() calls, I ran across the following files / functions, all of which do not invoke set_current_state() before schedule_timeout(), which causes the latter to return immediately: drivers/mtd/chips/cfi_cmdset_0001.c::do_xxlock_one_block() drivers/mtd/chips/cfi_cmdset_0001.c::do_erase_chip() drivers/mtd/chips/amd_flash.c::erase_one_block() drivers/mtd/chips/cfi_cmdset_0002.c::do_erase_chip() drivers/mtd/chips/cfi_cmdset_0002.c::do_erase_oneblock() drivers/mtd/chips/cfi_cmdset_0020.c::do_erase_oneblock() drivers/mtd/chips/cfi_cmdset_0020.c::do_lock_oneblock() drivers/mtd/chips/cfi_cmdset_0020.c::do_unlock_oneblock() If someone could tell me which state (TASK_INTERRUPTIBLE or TASK_UNINTERRUPTIBLE) is desired, I can fix this and perhaps replace the calls with msleep(). Thanks, Nish