diff --git a/reactos/hal/halx86/generic/legacy/bus/pcibus.c b/reactos/hal/halx86/generic/legacy/bus/pcibus.c index 989028e9331..8169fb19deb 100644 --- a/reactos/hal/halx86/generic/legacy/bus/pcibus.c +++ b/reactos/hal/halx86/generic/legacy/bus/pcibus.c @@ -753,7 +753,9 @@ HalpAssignPCISlotResources(IN PBUS_HANDLER BusHandler, } /* Interrupt resource */ - if (0 != PciConfig.u.type0.InterruptLine) + if (0 != PciConfig.u.type0.InterruptPin && + 0 != PciConfig.u.type0.InterruptLine && + 0xFF != PciConfig.u.type0.InterruptLine) ResourceCount++; /* Allocate output buffer and initialize */ @@ -806,7 +808,9 @@ HalpAssignPCISlotResources(IN PBUS_HANDLER BusHandler, } } - if (0 != PciConfig.u.type0.InterruptLine) + if (0 != PciConfig.u.type0.InterruptPin && + 0 != PciConfig.u.type0.InterruptLine && + 0xFF != PciConfig.u.type0.InterruptLine) { Descriptor->Type = CmResourceTypeInterrupt; Descriptor->ShareDisposition = CmResourceShareShared; /* FIXME Just a guess */ diff --git a/reactos/hal/halx86/generic/legacy/bussupp.c b/reactos/hal/halx86/generic/legacy/bussupp.c index 1758f85dab6..078a05980a7 100644 --- a/reactos/hal/halx86/generic/legacy/bussupp.c +++ b/reactos/hal/halx86/generic/legacy/bussupp.c @@ -785,7 +785,9 @@ HalpDebugPciDumpBus(IN ULONG i, if ((PciData->Status & PCI_STATUS_DEVSEL) == 0x200) DbgPrint(" medium devsel,"); if ((PciData->Status & PCI_STATUS_DEVSEL) == 0x400) DbgPrint(" fast devsel,"); DbgPrint(" latency %d", PciData->LatencyTimer); - if (PciData->u.type0.InterruptLine) DbgPrint(", IRQ %02d", PciData->u.type0.InterruptLine); + if (PciData->u.type0.InterruptPin != 0 && + PciData->u.type0.InterruptLine != 0 && + PciData->u.type0.InterruptLine != 0xFF) DbgPrint(", IRQ %02d", PciData->u.type0.InterruptLine); DbgPrint("\n"); /* Scan addresses */