patch-2.4.9 linux/drivers/i2o/i2o_block.c
Next file: linux/drivers/i2o/i2o_config.c
Previous file: linux/drivers/i2c/i2c-dev.c
Back to the patch index
Back to the overall index
- Lines: 53
- Date:
Thu Aug 16 09:50:06 2001
- Orig file:
v2.4.8/linux/drivers/i2o/i2o_block.c
- Orig date:
Wed Jul 25 17:10:20 2001
diff -u --recursive --new-file v2.4.8/linux/drivers/i2o/i2o_block.c linux/drivers/i2o/i2o_block.c
@@ -61,6 +61,7 @@
#include <asm/uaccess.h>
#include <asm/semaphore.h>
+#include <linux/completion.h>
#include <asm/io.h>
#include <asm/atomic.h>
#include <linux/smp_lock.h>
@@ -187,7 +188,7 @@
* evt_msg contains the last event.
*/
static DECLARE_MUTEX_LOCKED(i2ob_evt_sem);
-static DECLARE_MUTEX_LOCKED(i2ob_thread_dead);
+static DECLARE_COMPLETION(i2ob_thread_dead);
static spinlock_t i2ob_evt_lock = SPIN_LOCK_UNLOCKED;
static u32 evt_msg[MSG_FRAME_SIZE>>2];
@@ -712,7 +713,7 @@
static int i2ob_evt(void *dummy)
{
unsigned int evt;
- unsigned int flags;
+ unsigned long flags;
int unit;
int i;
//The only event that has data is the SCSI_SMART event.
@@ -859,7 +860,7 @@
}
};
- up_and_exit(&i2ob_thread_dead,0);
+ complete_and_exit(&i2ob_thread_dead,0);
return 0;
}
@@ -1697,7 +1698,7 @@
{
int unit = 0;
int i = 0;
- int flags;
+ unsigned long flags;
spin_lock_irqsave(&io_request_lock, flags);
@@ -2002,7 +2003,7 @@
printk("waiting...");
}
/* Be sure it died */
- down(&i2ob_thread_dead);
+ wait_for_completion(&i2ob_thread_dead);
printk("done.\n");
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)