linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / scsi / ide-scsi.c
index 39b760a..0cf0e4c 100644 (file)
@@ -47,7 +47,6 @@
 #include <linux/ide.h>
 #include <linux/scatterlist.h>
 #include <linux/delay.h>
-#include <linux/mutex.h>
 
 #include <asm/io.h>
 #include <asm/bitops.h>
@@ -110,7 +109,7 @@ typedef struct ide_scsi_obj {
        unsigned long log;                      /* log flags */
 } idescsi_scsi_t;
 
-static DEFINE_MUTEX(idescsi_ref_mutex);
+static DECLARE_MUTEX(idescsi_ref_sem);
 
 #define ide_scsi_g(disk) \
        container_of((disk)->private_data, struct ide_scsi_obj, driver)
@@ -119,19 +118,19 @@ static struct ide_scsi_obj *ide_scsi_get(struct gendisk *disk)
 {
        struct ide_scsi_obj *scsi = NULL;
 
-       mutex_lock(&idescsi_ref_mutex);
+       down(&idescsi_ref_sem);
        scsi = ide_scsi_g(disk);
        if (scsi)
                scsi_host_get(scsi->host);
-       mutex_unlock(&idescsi_ref_mutex);
+       up(&idescsi_ref_sem);
        return scsi;
 }
 
 static void ide_scsi_put(struct ide_scsi_obj *scsi)
 {
-       mutex_lock(&idescsi_ref_mutex);
+       down(&idescsi_ref_sem);
        scsi_host_put(scsi->host);
-       mutex_unlock(&idescsi_ref_mutex);
+       up(&idescsi_ref_sem);
 }
 
 static inline idescsi_scsi_t *scsihost_to_idescsi(struct Scsi_Host *host)