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:
@@ -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");
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user