Skip to contentSkip to conversation

isicom: replace schedule_timeout() with msleep()

PATCH In review [email protected] 1 participant 1 message Sep 1, 2004 Char and misc drivers

lore
Share & tools
lore
#0 lore raw

PATCH 22/25 isicom: 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.

Note: I could not find any current Maintainer for this driver. If there is one I should sent the patch too, please let me know.

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/char/isicom.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
drivers/char/isicom.c renamed from drivers/char/isicom.c~msleep-drivers_char_isicom +2 -2
diff -puN drivers/char/isicom.c~msleep-drivers_char_isicom drivers/char/isicom.c
@@ -48,6 +48,7 @@
 #include <linux/miscdevice.h>
 #include <linux/interrupt.h>
 #include <linux/timer.h>
+#include <linux/delay.h>
 #include <linux/ioport.h>
 
 #include <asm/uaccess.h>
@@ -1906,8 +1907,7 @@ int init_module(void)
 void cleanup_module(void)
 {
 	re_schedule = 0;
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout(HZ);
+	msleep(1000);
 
 #ifdef ISICOM_DEBUG	
 	printk("ISICOM: isicom_tx tx_count = %ld.\n", tx_count);

_