The AHA and BusLogic controller reset now resets less things, fixes NT 3.1 Setup hanging after detecting the AHA-1542CF with BIOS enabled.

This commit is contained in:
OBattler
2017-10-17 01:35:41 +02:00
parent 52eca87ae1
commit 6674865c56
2 changed files with 7 additions and 20 deletions

View File

@@ -444,19 +444,6 @@ aha_setup_data(void *p)
}
static void
aha_reset(void *p)
{
x54x_t *dev = (x54x_t *)p;
dev->Lock = 0;
dev->shram_mode = 0;
dev->MailboxIsBIOS = 0;
dev->BIOSMailboxCount = 0;
dev->BIOSMailboxOutPosCur = 0;
}
static void
aha_do_bios_mail(x54x_t *dev)
{
@@ -798,7 +785,6 @@ aha_init(device_t *info)
dev->get_ven_param_len = aha_param_len;
dev->ven_cmds = aha_cmds;
dev->get_ven_data = aha_setup_data;
dev->ven_reset = aha_reset;
strcpy(dev->vendor, "Adaptec");

View File

@@ -1233,7 +1233,10 @@ x54x_mbo_process(x54x_t *dev)
}
}
dev->MailboxReq--;
if (dev->MailboxIsBIOS)
dev->BIOSMailboxReq--;
else
dev->MailboxReq--;
return 1;
}
@@ -1406,6 +1409,7 @@ x54x_in(uint16_t port, void *priv)
break;
}
x54x_log("%s: Read Port 0x%02X, Value %02X\n", dev->name, port, ret);
return(ret);
}
@@ -1459,13 +1463,12 @@ x54x_reset_poll(void *priv)
static void
x54x_reset(x54x_t *dev)
{
clear_irq(dev);
dev->Geometry = 0x80;
dev->Command = 0xFF;
dev->CmdParam = 0;
dev->CmdParamLeft = 0;
dev->IrqEnabled = 1;
dev->MailboxCount = 0;
dev->MailboxOutPosCur = 0;
dev->Mbx24bit = 1;
dev->MailboxInPosCur = 0;
dev->MailboxOutInterrupts = 0;
dev->PendingInterrupt = 0;
@@ -1473,8 +1476,6 @@ x54x_reset(x54x_t *dev)
if (dev->ven_reset) {
dev->ven_reset(dev);
}
clear_irq(dev);
}