https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c96ba5a713b70c61403ec…
commit c96ba5a713b70c61403ec993a25745e75f6d1200
Author: Hervé Poussineau <hpoussin(a)reactos.org>
AuthorDate: Mon Feb 10 21:30:07 2020 +0100
Commit: Hervé Poussineau <hpoussin(a)reactos.org>
CommitDate: Mon Feb 10 21:33:36 2020 +0100
[ISAPNP] Also read serial numbers of devices
---
drivers/bus/isapnp/hardware.c | 5 +++--
drivers/bus/isapnp/isapnp.h | 1 +
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/bus/isapnp/hardware.c b/drivers/bus/isapnp/hardware.c
index be7eda08a47..fbf53eb8059 100644
--- a/drivers/bus/isapnp/hardware.c
+++ b/drivers/bus/isapnp/hardware.c
@@ -516,11 +516,12 @@ ProbeIsaPnpBus(PISAPNP_FDO_EXTENSION FdoExt)
LogDevice->VendorId[1] = (((LogDevId.VendorId & 0x3) << 3) |
((LogDevId.VendorId >> 13) & 0x7)) + 'A' - 1,
LogDevice->VendorId[2] = ((LogDevId.VendorId >> 8) & 0x1f) +
'A' - 1,
LogDevice->ProdId = RtlUshortByteSwap(LogDevId.ProdId);
+ LogDevice->SerialNumber = RtlUlongByteSwap(Identifier.Serial);
LogDevice->IoAddr = ReadIoBase(FdoExt->ReadDataPort, 0);
LogDevice->IrqNo = ReadIrqNo(FdoExt->ReadDataPort, 0);
- DPRINT1("Detected ISA PnP device - VID: '%3s' PID: 0x%x IoBase: 0x%x
IRQ:0x%x\n",
- LogDevice->VendorId, LogDevice->ProdId, LogDevice->IoAddr,
LogDevice->IrqNo);
+ DPRINT1("Detected ISA PnP device - VID: '%3s' PID: 0x%x SN: 0x04x
IoBase: 0x%x IRQ:0x%x\n",
+ LogDevice->VendorId, LogDevice->ProdId, LogDevice->SerialNumber,
LogDevice->IoAddr, LogDevice->IrqNo);
WaitForKey();
diff --git a/drivers/bus/isapnp/isapnp.h b/drivers/bus/isapnp/isapnp.h
index cb7e64d44ab..aaa0f2c9962 100644
--- a/drivers/bus/isapnp/isapnp.h
+++ b/drivers/bus/isapnp/isapnp.h
@@ -34,6 +34,7 @@ typedef struct _ISAPNP_LOGICAL_DEVICE {
ISAPNP_COMMON_EXTENSION Common;
UCHAR VendorId[3];
USHORT ProdId;
+ ULONG SerialNumber;
USHORT IoAddr;
UCHAR IrqNo;
UCHAR CSN;