From: janitor@sternwelten.at

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

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/char/isicom.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -puN drivers/char/isicom.c~isicom-replace-schedule_timeout-with-msleep drivers/char/isicom.c
--- 25/drivers/char/isicom.c~isicom-replace-schedule_timeout-with-msleep	Wed Sep  1 15:31:07 2004
+++ 25-akpm/drivers/char/isicom.c	Wed Sep  1 15:31:07 2004
@@ -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);
_