[UPDATE PATCH] scsi/st: replace schedule_timeout() with msleep_interruptible()

Nishanth Aravamudan
2005-01-11T01:08:32Z

> msleep_interruptible-drivers_scsi_st.patch

Please consider updating to the following patch:

Description: Use msleep_interruptible() instead of
schedule_timeout() to guarantee the task delays as expected.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>

--- 2.6.10-v/drivers/scsi/st.c 2004-12-24 13:35:01.000000000 -0800
+++ 2.6.10/drivers/scsi/st.c 2005-01-05 14:23:05.000000000 -0800
@@ -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;
}