提交 a13b3722 编写于 作者: O Ondrej Zary 提交者: James Bottomley

aha1542: Remove unneeded gotos

Remove gotos that are no longer needed.
Signed-off-by: NOndrej Zary <linux@rainbow-software.org>
Reviewed-by: NChristoph Hellwig <hch@lst.de>
Signed-off-by: NJames Bottomley <JBottomley@Odin.com>
上级 0c2b6481
......@@ -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,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册