]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/ide-scsi.c
[PATCH] m68k: convert mac irq code
[linux-2.6-omap-h63xx.git] / drivers / scsi / ide-scsi.c
index 0cf0e4c7ac0c751645945efdf29d582a1ac3ef36..988e6f7af01a28d4a5bf9fc67e3b2428696279ea 100644 (file)
@@ -47,6 +47,7 @@
 #include <linux/ide.h>
 #include <linux/scatterlist.h>
 #include <linux/delay.h>
+#include <linux/mutex.h>
 
 #include <asm/io.h>
 #include <asm/bitops.h>
@@ -109,7 +110,7 @@ typedef struct ide_scsi_obj {
        unsigned long log;                      /* log flags */
 } idescsi_scsi_t;
 
-static DECLARE_MUTEX(idescsi_ref_sem);
+static DEFINE_MUTEX(idescsi_ref_mutex);
 
 #define ide_scsi_g(disk) \
        container_of((disk)->private_data, struct ide_scsi_obj, driver)
@@ -118,19 +119,19 @@ static struct ide_scsi_obj *ide_scsi_get(struct gendisk *disk)
 {
        struct ide_scsi_obj *scsi = NULL;
 
-       down(&idescsi_ref_sem);
+       mutex_lock(&idescsi_ref_mutex);
        scsi = ide_scsi_g(disk);
        if (scsi)
                scsi_host_get(scsi->host);
-       up(&idescsi_ref_sem);
+       mutex_unlock(&idescsi_ref_mutex);
        return scsi;
 }
 
 static void ide_scsi_put(struct ide_scsi_obj *scsi)
 {
-       down(&idescsi_ref_sem);
+       mutex_lock(&idescsi_ref_mutex);
        scsi_host_put(scsi->host);
-       up(&idescsi_ref_sem);
+       mutex_unlock(&idescsi_ref_mutex);
 }
 
 static inline idescsi_scsi_t *scsihost_to_idescsi(struct Scsi_Host *host)
@@ -599,8 +600,7 @@ static ide_startstop_t idescsi_transfer_pc(ide_drive_t *drive)
                                "issuing a packet command\n");
                return ide_do_reset (drive);
        }
-       if (HWGROUP(drive)->handler != NULL)
-               BUG();
+       BUG_ON(HWGROUP(drive)->handler != NULL);
        /* Set the interrupt routine */
        ide_set_handler(drive, &idescsi_pc_intr, get_timeout(pc), idescsi_expiry);
        /* Send the actual packet */
@@ -690,8 +690,7 @@ static ide_startstop_t idescsi_issue_pc (ide_drive_t *drive, idescsi_pc_t *pc)
                set_bit(PC_DMA_OK, &pc->flags);
 
        if (test_bit(IDESCSI_DRQ_INTERRUPT, &scsi->flags)) {
-               if (HWGROUP(drive)->handler != NULL)
-                       BUG();
+               BUG_ON(HWGROUP(drive)->handler != NULL);
                ide_set_handler(drive, &idescsi_transfer_pc,
                                get_timeout(pc), idescsi_expiry);
                /* Issue the packet command */