mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +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
|
inline
|
||||||
VOID
|
VOID
|
||||||
ActivateDevice(
|
ActivateDevice(
|
||||||
|
_In_ PUCHAR ReadDataPort,
|
||||||
_In_ UCHAR LogDev)
|
_In_ UCHAR LogDev)
|
||||||
{
|
{
|
||||||
WriteLogicalDeviceNumber(LogDev);
|
WriteLogicalDeviceNumber(LogDev);
|
||||||
|
|
||||||
|
WriteByte(ISAPNP_IORANGECHECK,
|
||||||
|
ReadByte(ReadDataPort, ISAPNP_IORANGECHECK) & ~2);
|
||||||
|
|
||||||
WriteByte(ISAPNP_ACTIVATE, 1);
|
WriteByte(ISAPNP_ACTIVATE, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1341,7 +1346,7 @@ IsaHwFillDeviceList(
|
||||||
PISAPNP_PDO_EXTENSION PdoExt = LogDevice->Pdo->DeviceExtension;
|
PISAPNP_PDO_EXTENSION PdoExt = LogDevice->Pdo->DeviceExtension;
|
||||||
|
|
||||||
if (PdoExt->Common.State == dsStarted)
|
if (PdoExt->Common.State == dsStarted)
|
||||||
ActivateDevice(LogDev);
|
ActivateDevice(FdoExt->ReadDataPort, LogDev);
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("Skip CSN %u, LDN %u\n", LogDevice->CSN, LogDevice->LDN);
|
DPRINT("Skip CSN %u, LDN %u\n", LogDevice->CSN, LogDevice->LDN);
|
||||||
|
@ -1412,9 +1417,10 @@ IsaHwWakeDevice(
|
||||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
VOID
|
VOID
|
||||||
IsaHwActivateDevice(
|
IsaHwActivateDevice(
|
||||||
|
_In_ PISAPNP_FDO_EXTENSION FdoExt,
|
||||||
_In_ PISAPNP_LOGICAL_DEVICE LogicalDevice)
|
_In_ PISAPNP_LOGICAL_DEVICE LogicalDevice)
|
||||||
{
|
{
|
||||||
ActivateDevice(LogicalDevice->LDN);
|
ActivateDevice(FdoExt->ReadDataPort, LogicalDevice->LDN);
|
||||||
}
|
}
|
||||||
|
|
||||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
|
|
|
@ -388,6 +388,7 @@ IsaHwDeactivateDevice(
|
||||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
VOID
|
VOID
|
||||||
IsaHwActivateDevice(
|
IsaHwActivateDevice(
|
||||||
|
_In_ PISAPNP_FDO_EXTENSION FdoExt,
|
||||||
_In_ PISAPNP_LOGICAL_DEVICE LogicalDevice);
|
_In_ PISAPNP_LOGICAL_DEVICE LogicalDevice);
|
||||||
|
|
||||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||||
|
|
|
@ -899,7 +899,7 @@ IsaPdoPnp(
|
||||||
|
|
||||||
Status = STATUS_SUCCESS;
|
Status = STATUS_SUCCESS;
|
||||||
|
|
||||||
IsaHwActivateDevice(PdoExt->IsaPnpDevice);
|
IsaHwActivateDevice(PdoExt->FdoExt, PdoExt->IsaPnpDevice);
|
||||||
IsaHwWaitForKey();
|
IsaHwWaitForKey();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue