Skip to contentSkip to conversation

sonycd535: replace schedule_timeout()

PATCH New Nishanth Aravamudan 1 participant 3 messages Jul 20, 2004 – Sep 1, 2004 Kernel janitors

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sonycd535: replace schedule_timeout()

I would appreciate any comments from the janitors 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

Applys-to: 2.6.7

Description: Uses msleep() instead of schedule_timeout() to guarantee the task delays at least the desired time amount.

drivers/cdrom/sonycd535.c +1 -2
@@ -1478,8 +1478,7 @@ static int __init sony535_init(void)
 	/* look for the CD-ROM, follows the procedure in the DOS driver */
 	inb(select_unit_reg);
 	/* wait for 40 18 Hz ticks (reverse-engineered from DOS driver) */
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout((HZ+17)*40/18);
+	msleep(2223);
 	inb(result_reg);
 
 	outb(0, read_status_reg);	/* does a reset? */

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors

#1 lore raw

PATCH 1/1 sonycd535: replace schedule_timeout()

Please find below the corrected patch, as the previous one would not compile.

I would appreciate any comments from the janitors 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

Applys-to: 2.6.7

Description: Uses msleep() instead of schedule_timeout() to guarantee the task delays at least the desired time amount.

drivers/cdrom/sonycd535.c +3 -3
@@ -129,7 +129,8 @@
 #include <linux/mm.h>
 #include <linux/slab.h>
 #include <linux/init.h>
-
+#include <linux/delay.h>
+ 
 #define REALLY_SLOW_IO
 #include <asm/system.h>
 #include <asm/io.h>
@@ -1478,8 +1479,7 @@ static int __init sony535_init(void)
 	/* look for the CD-ROM, follows the procedure in the DOS driver */
 	inb(select_unit_reg);
 	/* wait for 40 18 Hz ticks (reverse-engineered from DOS driver) */
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout((HZ+17)*40/18);
+	msleep(2223);
 	inb(result_reg);
 
 	outb(0, read_status_reg);	/* does a reset? */

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors

#2 lore raw

PATCH 1/1 sonycd535: replace schedule_timeout() with

In reply to Nishanth Aravamudan

This is one of 10 patches which have either not been pushed to mainline (2.6.9-rc1-bk7) or have not been included in any of the recent kjt's.

Applys-to: 2.6.9-rc1-bk7

Description: Uses msleep() instead of schedule_timeout() to guarantee the task delays at least the desired time amount.

drivers/cdrom/sonycd535.c +2 -2
@@ -129,6 +129,7 @@
 #include <linux/mm.h>
 #include <linux/slab.h>
 #include <linux/init.h>
+#include <linux/delay.h>
 
 #define REALLY_SLOW_IO
 #include <asm/system.h>
@@ -1478,8 +1479,7 @@ static int __init sony535_init(void)
 	/* look for the CD-ROM, follows the procedure in the DOS driver */
 	inb(select_unit_reg);
 	/* wait for 40 18 Hz ticks (reverse-engineered from DOS driver) */
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout((HZ+17)*40/18);
+	msleep(2223);
 	inb(result_reg);
 
 	outb(0, read_status_reg);	/* does a reset? */

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors