Commit be5d8a14 authored by Maximilian Attems's avatar Maximilian Attems Committed by Dave Jones

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

Replace schedule_timeout() with msleep() to guarantee the task
delays as desired.
Signed-off-by: default avatarNishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: default avatarMaximilian Attems <janitor@sternwelten.at>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent f4e3a339
...@@ -613,10 +613,8 @@ static int osst_wait_ready(OS_Scsi_Tape * STp, Scsi_Request ** aSRpnt, unsigned ...@@ -613,10 +613,8 @@ static int osst_wait_ready(OS_Scsi_Tape * STp, Scsi_Request ** aSRpnt, unsigned
printk(OSST_DEB_MSG "%s:D: Reached onstream wait ready\n", name); printk(OSST_DEB_MSG "%s:D: Reached onstream wait ready\n", name);
#endif #endif
if (initial_delay > 0) { if (initial_delay > 0)
set_current_state(TASK_INTERRUPTIBLE); msleep(jiffies_to_msecs(initial_delay));
schedule_timeout(initial_delay);
}
memset(cmd, 0, MAX_COMMAND_SIZE); memset(cmd, 0, MAX_COMMAND_SIZE);
cmd[0] = TEST_UNIT_READY; cmd[0] = TEST_UNIT_READY;
...@@ -637,8 +635,7 @@ static int osst_wait_ready(OS_Scsi_Tape * STp, Scsi_Request ** aSRpnt, unsigned ...@@ -637,8 +635,7 @@ static int osst_wait_ready(OS_Scsi_Tape * STp, Scsi_Request ** aSRpnt, unsigned
debugging = 0; debugging = 0;
} }
#endif #endif
set_current_state(TASK_INTERRUPTIBLE); msleep(100);
schedule_timeout(HZ / 10);
memset(cmd, 0, MAX_COMMAND_SIZE); memset(cmd, 0, MAX_COMMAND_SIZE);
cmd[0] = TEST_UNIT_READY; cmd[0] = TEST_UNIT_READY;
...@@ -697,8 +694,7 @@ static int osst_wait_for_medium(OS_Scsi_Tape * STp, Scsi_Request ** aSRpnt, unsi ...@@ -697,8 +694,7 @@ static int osst_wait_for_medium(OS_Scsi_Tape * STp, Scsi_Request ** aSRpnt, unsi
debugging = 0; debugging = 0;
} }
#endif #endif
set_current_state(TASK_INTERRUPTIBLE); msleep(100);
schedule_timeout(HZ / 10);
memset(cmd, 0, MAX_COMMAND_SIZE); memset(cmd, 0, MAX_COMMAND_SIZE);
cmd[0] = TEST_UNIT_READY; cmd[0] = TEST_UNIT_READY;
...@@ -818,8 +814,7 @@ static int osst_wait_frame(OS_Scsi_Tape * STp, Scsi_Request ** aSRpnt, int curr, ...@@ -818,8 +814,7 @@ static int osst_wait_frame(OS_Scsi_Tape * STp, Scsi_Request ** aSRpnt, int curr,
notyetprinted--; notyetprinted--;
} }
#endif #endif
set_current_state(TASK_INTERRUPTIBLE); msleep(1000 / OSST_POLL_PER_SEC);
schedule_timeout (HZ / OSST_POLL_PER_SEC);
} }
#if DEBUG #if DEBUG
printk (OSST_DEB_MSG "%s:D: Fail wait f fr %i (>%i): %i-%i %i: %3li.%li s\n", printk (OSST_DEB_MSG "%s:D: Fail wait f fr %i (>%i): %i-%i %i: %3li.%li s\n",
...@@ -1420,8 +1415,7 @@ static int osst_read_back_buffer_and_rewrite(OS_Scsi_Tape * STp, Scsi_Request ** ...@@ -1420,8 +1415,7 @@ static int osst_read_back_buffer_and_rewrite(OS_Scsi_Tape * STp, Scsi_Request **
if (SRpnt->sr_sense_buffer[2] == 2 && SRpnt->sr_sense_buffer[12] == 4 && if (SRpnt->sr_sense_buffer[2] == 2 && SRpnt->sr_sense_buffer[12] == 4 &&
(SRpnt->sr_sense_buffer[13] == 1 || SRpnt->sr_sense_buffer[13] == 8)) { (SRpnt->sr_sense_buffer[13] == 1 || SRpnt->sr_sense_buffer[13] == 8)) {
/* in the process of becoming ready */ /* in the process of becoming ready */
set_current_state(TASK_INTERRUPTIBLE); msleep(100);
schedule_timeout(HZ / 10);
continue; continue;
} }
if (STp->buffer->syscall_result) if (STp->buffer->syscall_result)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment