mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 08:25:03 +00:00
[ISAPNP] Disable I/O range check before activation
See Table A-2 of "Plug and Play ISA Specification 1.0a"
This commit is contained in:
parent
367f4b1581
commit
e318d22940
3 changed files with 10 additions and 3 deletions
|
@ -168,9 +168,14 @@ static
|
|||
inline
|
||||
VOID
|
||||
ActivateDevice(
|
||||
_In_ PUCHAR ReadDataPort,
|
||||
_In_ UCHAR LogDev)
|
||||
{
|
||||
WriteLogicalDeviceNumber(LogDev);
|
||||
|
||||
WriteByte(ISAPNP_IORANGECHECK,
|
||||
ReadByte(ReadDataPort, ISAPNP_IORANGECHECK) & ~2);
|
||||
|
||||
WriteByte(ISAPNP_ACTIVATE, 1);
|
||||
}
|
||||
|
||||
|
@ -1341,7 +1346,7 @@ IsaHwFillDeviceList(
|
|||
PISAPNP_PDO_EXTENSION PdoExt = LogDevice->Pdo->DeviceExtension;
|
||||
|
||||
if (PdoExt->Common.State == dsStarted)
|
||||
ActivateDevice(LogDev);
|
||||
ActivateDevice(FdoExt->ReadDataPort, LogDev);
|
||||
}
|
||||
|
||||
DPRINT("Skip CSN %u, LDN %u\n", LogDevice->CSN, LogDevice->LDN);
|
||||
|
@ -1412,9 +1417,10 @@ IsaHwWakeDevice(
|
|||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
VOID
|
||||
IsaHwActivateDevice(
|
||||
_In_ PISAPNP_FDO_EXTENSION FdoExt,
|
||||
_In_ PISAPNP_LOGICAL_DEVICE LogicalDevice)
|
||||
{
|
||||
ActivateDevice(LogicalDevice->LDN);
|
||||
ActivateDevice(FdoExt->ReadDataPort, LogicalDevice->LDN);
|
||||
}
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
|
|
|
@ -388,6 +388,7 @@ IsaHwDeactivateDevice(
|
|||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
VOID
|
||||
IsaHwActivateDevice(
|
||||
_In_ PISAPNP_FDO_EXTENSION FdoExt,
|
||||
_In_ PISAPNP_LOGICAL_DEVICE LogicalDevice);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
|
|
|
@ -899,7 +899,7 @@ IsaPdoPnp(
|
|||
|
||||
Status = STATUS_SUCCESS;
|
||||
|
||||
IsaHwActivateDevice(PdoExt->IsaPnpDevice);
|
||||
IsaHwActivateDevice(PdoExt->FdoExt, PdoExt->IsaPnpDevice);
|
||||
IsaHwWaitForKey();
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue