Skip to contentSkip to conversation

mcd: replace schedule_timeout() with msleep()

PATCH In review [email protected] 1 participant 1 message Sep 1, 2004

lore
Share & tools
lore
#0 lore raw

PATCH 2/14 mcd: replace schedule_timeout() with msleep()

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.

---

 linux-2.6.9-rc1-bk7-max/drivers/cdrom/mcd.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)
drivers/cdrom/mcd.c renamed from drivers/cdrom/mcd.c~msleep-drivers_cdrom_mcd +3 -4
diff -puN drivers/cdrom/mcd.c~msleep-drivers_cdrom_mcd drivers/cdrom/mcd.c
@@ -1021,10 +1021,9 @@ static int mcd_open(struct cdrom_device_
 		st = statusCmd();	/* check drive status */
 		if (st == -1)
 			goto err_out;	/* drive doesn't respond */
-		if ((st & MST_READY) == 0) {	/* no disk? wait a sec... */
-			current->state = TASK_INTERRUPTIBLE;
-			schedule_timeout(HZ);
-		}
+		if ((st & MST_READY) == 0) 	/* no disk? wait a sec... */
+			msleep(1000);
+
 	} while (((st & MST_READY) == 0) && count++ < MCD_RETRY_ATTEMPTS);
 
 	if (updateToc() < 0)

_