aha1542: Remove unneeded gotos
authorOndrej Zary <linux@rainbow-software.org>
Fri, 6 Feb 2015 22:11:34 +0000 (23:11 +0100)
committerJames Bottomley <JBottomley@Odin.com>
Fri, 10 Apr 2015 01:07:26 +0000 (18:07 -0700)
Remove gotos that are no longer needed.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
drivers/scsi/aha1542.c

index 7bf4604ede474de6e5c7f6cddb16d4d059704d32..af2c69e1a6971e44b6d8578bcbf3030a773e361f 100644 (file)
@@ -198,17 +198,16 @@ static int aha1542_in(unsigned int base, u8 *cmdp, int len, int timeout)
 
        spin_lock_irqsave(&aha1542_lock, flags);
        while (len--) {
-               if (!wait_mask(STATUS(base), DF, DF, 0, timeout))
-                       goto fail;
+               if (!wait_mask(STATUS(base), DF, DF, 0, timeout)) {
+                       spin_unlock_irqrestore(&aha1542_lock, flags);
+                       if (timeout == 0)
+                               printk(KERN_ERR "aha1542_in failed(%d): ", len + 1);
+                       return 1;
+               }
                *cmdp++ = inb(DATA(base));
        }
        spin_unlock_irqrestore(&aha1542_lock, flags);
        return 0;
-fail:
-       spin_unlock_irqrestore(&aha1542_lock, flags);
-       if (timeout == 0)
-               printk(KERN_ERR "aha1542_in failed(%d): ", len + 1);
-       return 1;
 }
 
 static int makecode(unsigned hosterr, unsigned scsierr)
@@ -292,12 +291,12 @@ static int aha1542_test_port(int bse, struct Scsi_Host *shpnt)
        debug = 1;
        /* Expect INIT and IDLE, any of the others are bad */
        if (!wait_mask(STATUS(bse), STATMASK, INIT | IDLE, STST | DIAGF | INVDCMD | DF | CDF, 0))
-               goto fail;
+               return 0;
 
        debug = 2;
        /* Shouldn't have generated any interrupts during reset */
        if (inb(INTRFLAGS(bse)) & INTRMASK)
-               goto fail;
+               return 0;
 
 
        /* Perform a host adapter inquiry instead so we do not need to set
@@ -311,19 +310,19 @@ static int aha1542_test_port(int bse, struct Scsi_Host *shpnt)
 
        while (len--) {
                if (!wait_mask(STATUS(bse), DF, DF, 0, 0))
-                       goto fail;
+                       return 0;
                *cmdp++ = inb(DATA(bse));
        }
 
        debug = 8;
        /* Reading port should reset DF */
        if (inb(STATUS(bse)) & DF)
-               goto fail;
+               return 0;
 
        debug = 9;
        /* When HACC, command is completed, and we're though testing */
        if (!wait_mask(INTRFLAGS(bse), HACC, HACC, 0, 0))
-               goto fail;
+               return 0;
        /* now initialize adapter */
 
        debug = 10;
@@ -333,8 +332,6 @@ static int aha1542_test_port(int bse, struct Scsi_Host *shpnt)
        debug = 11;
 
        return debug;           /* 1 = ok */
-fail:
-       return 0;               /* 0 = not ok */
 }
 
 static int aha1542_restart(struct Scsi_Host *shost)
@@ -692,11 +689,7 @@ static void setup_mailboxes(int bse, struct Scsi_Host *shpnt)
        any2scsi((cmd + 2), isa_virt_to_bus(mb));
        aha1542_out(bse, cmd, 5);
        if (!wait_mask(INTRFLAGS(bse), INTRMASK, HACC, 0, 0))
-               goto fail;
-       while (0) {
-fail:
                printk(KERN_ERR "aha1542_detect: failed setting up mailboxes\n");
-       }
        aha1542_intr_reset(bse);
 }
 
@@ -711,11 +704,7 @@ static int aha1542_getconfig(int base_io, unsigned char *irq_level, unsigned cha
        aha1542_outb(base_io, CMD_RETCONF);
        aha1542_in(base_io, inquiry_result, 3, 0);
        if (!wait_mask(INTRFLAGS(base_io), INTRMASK, HACC, 0, 0))
-               goto fail;
-       while (0) {
-fail:
                printk(KERN_ERR "aha1542_detect: query board settings\n");
-       }
        aha1542_intr_reset(base_io);
        switch (inquiry_result[0]) {
        case 0x80:
@@ -816,11 +805,7 @@ static int aha1542_query(int base_io, int *transl)
        aha1542_outb(base_io, CMD_INQUIRY);
        aha1542_in(base_io, inquiry_result, 4, 0);
        if (!wait_mask(INTRFLAGS(base_io), INTRMASK, HACC, 0, 0))
-               goto fail;
-       while (0) {
-fail:
                printk(KERN_ERR "aha1542_detect: query card type\n");
-       }
        aha1542_intr_reset(base_io);
 
        *transl = BIOS_TRANSLATION_6432;        /* Default case */
@@ -1147,8 +1132,10 @@ static int aha1542_bus_reset(Scsi_Cmnd * SCpnt)
        spin_lock_irq(SCpnt->device->host->host_lock);
 
        if (!wait_mask(STATUS(SCpnt->device->host->io_port),
-            STATMASK, INIT | IDLE, STST | DIAGF | INVDCMD | DF | CDF, 0))
-               goto fail;
+            STATMASK, INIT | IDLE, STST | DIAGF | INVDCMD | DF | CDF, 0)) {
+               spin_unlock_irq(SCpnt->device->host->host_lock);
+               return FAILED;
+       }
 
        /*
         * Now try to pick up the pieces.  For all pending commands,
@@ -1182,10 +1169,6 @@ static int aha1542_bus_reset(Scsi_Cmnd * SCpnt)
 
        spin_unlock_irq(SCpnt->device->host->host_lock);
        return SUCCESS;
-
-fail:
-       spin_unlock_irq(SCpnt->device->host->host_lock);
-       return FAILED;
 }
 
 static int aha1542_host_reset(Scsi_Cmnd * SCpnt)
@@ -1212,9 +1195,10 @@ static int aha1542_host_reset(Scsi_Cmnd * SCpnt)
        spin_lock_irq(SCpnt->device->host->host_lock);
 
        if (!wait_mask(STATUS(SCpnt->device->host->io_port),
-            STATMASK, INIT | IDLE, STST | DIAGF | INVDCMD | DF | CDF, 0))
-               goto fail;
-
+            STATMASK, INIT | IDLE, STST | DIAGF | INVDCMD | DF | CDF, 0)) {
+               spin_unlock_irq(SCpnt->device->host->host_lock);
+               return FAILED;
+       }
        /*
         * We need to do this too before the 1542 can interact with
         * us again.
@@ -1252,10 +1236,6 @@ static int aha1542_host_reset(Scsi_Cmnd * SCpnt)
 
        spin_unlock_irq(SCpnt->device->host->host_lock);
        return SUCCESS;
-
-fail:
-       spin_unlock_irq(SCpnt->device->host->host_lock);
-       return FAILED;
 }
 
 static int aha1542_biosparam(struct scsi_device *sdev,