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

Reply via email to