I would appreciate any comments from the janitor@sternweltens list. This is one (of
many) cases where I made a decision about replacing
set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(some_time);
with
msleep(jiffies_to_msecs(some_time));
msleep() is not exactly the same as the previous code, but I only did
this replacement where I thought long delays were *desired*. If this is
not the case here, then just disregard this patch.
Thanks,
Nish
Description: Uses msleep() instead of schedule_timeout() to guarantee
the task delays at least the desired time amount.
Signed-off-by: Nishanth Aravamudan <[email protected]>
Signed-off-by: Maximilian Attems <[email protected]>
---
linux-2.6.9-rc1-bk7-max/drivers/cdrom/cdu31a.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff -puN drivers/cdrom/cdu31a.c~msleep-drivers_cdrom_cdu31a drivers/cdrom/cdu31a.c
--- linux-2.6.9-rc1-bk7/drivers/cdrom/cdu31a.c~msleep-drivers_cdrom_cdu31a 2004-09-01 19:34:41.000000000 +0200
+++ linux-2.6.9-rc1-bk7-max/drivers/cdrom/cdu31a.c 2004-09-01 19:34:41.000000000 +0200
@@ -729,8 +729,7 @@ static void restart_on_error(void)
res_reg[1]);
}
- current->state = TASK_INTERRUPTIBLE;
- schedule_timeout(2 * HZ);
+ msleep(2000);
sony_get_toc();
}
@@ -960,8 +959,7 @@ retry_cd_operation:
if (((result_buffer[0] & 0xf0) == 0x20)
&& (num_retries < MAX_CDU31A_RETRIES)) {
num_retries++;
- current->state = TASK_INTERRUPTIBLE;
- schedule_timeout(HZ / 10); /* Wait .1 seconds on retries */
+ msleep(100):
goto retry_cd_operation;
}
_