[UPDATE PATCH] scsi/osst: replace schedule_timeout() with msleep()

Nishanth Aravamudan
2005-01-10T18:23:08Z

> all patches:
> ------------

<snip>

> msleep-drivers_scsi_osst.patch

Consider replacing with the following patch, as signals are not dealt with in
the existing code:

Description: Use msleep() instead of schedule_timeout() to guarantee the task
delays as expected. Although TASK_INTERRUPTIBLE is used in the current code,
there is no code dealing with an early return / signals_pending().

--- 2.6.10-v/drivers/scsi/osst.c 2004-12-24 13:34:45.000000000 -0800
+++ 2.6.10/drivers/scsi/osst.c 2005-01-05 14:23:05.000000000 -0800
@@ -1488,8 +1488,7 @@ static int osst_reposition_and_retry(OS_
osst_set_frame_position(STp, aSRpnt, frame + skip, 1);
flag = 0;
attempts--;
- set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout(HZ / 10);
+ msleep(100);
}
if (osst_get_frame_position(STp, aSRpnt) < 0) { /* additional write error */
#if DEBUG
@@ -1550,7 +1549,7 @@ static int osst_reposition_and_retry(OS_
debugging = 0;
}
#endif
- schedule_timeout(HZ / 10);
+ msleep(100);
}
printk(KERN_ERR "%s:E: Failed to find valid tape media\n", name);
#if DEBUG