Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected.
Signed-off-by: Nishanth Aravamudan <[EMAIL PROTECTED]> Signed-off-by: Domen Puncer <[EMAIL PROTECTED]> --- kj-domen/drivers/scsi/st.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff -puN drivers/scsi/st.c~msleep_interruptible-drivers_scsi_st drivers/scsi/st.c --- kj/drivers/scsi/st.c~msleep_interruptible-drivers_scsi_st 2005-03-05 16:11:03.000000000 +0100 +++ kj-domen/drivers/scsi/st.c 2005-03-05 16:11:03.000000000 +0100 @@ -36,6 +36,7 @@ static char *verstr = "20041025"; #include <linux/moduleparam.h> #include <linux/devfs_fs_kernel.h> #include <linux/cdev.h> +#include <linux/delay.h> #include <asm/uaccess.h> #include <asm/dma.h> #include <asm/system.h> @@ -760,9 +761,7 @@ static int test_ready(struct scsi_tape * if (scode == NOT_READY) { if (waits < max_wait) { - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ); - if (signal_pending(current)) { + if (msleep_interruptible(1000)) { retval = (-EINTR); break; } _ - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html