PSS ID Number: 196121
Article Last Modified on 10/16/2002
The information in this article applies to:
- Microsoft Win32 Device Driver Kit (DDK) Windows 95
This article was previously published under Q196121
SYMPTOMS
Under Windows 95 OSR2, following a suspend/resume sequence, a PCI device
may fail to work properly. Examining the device in Device Manager shows
that the device has been disabled in hardware, displaying error code 29.
CAUSE
This problem is caused by a rebalance bug in Windows 95 OSR2. During the
process of arbitrating device IRQ resources, Configuration Manager will
perform a rebalance if it determines that there are insufficient system
IRQs available to satisfy device requirements. A rebalance commonly results
in multiple PCI interrupts being combined and routed to one system IRQ. The
bug, however, can result in a rebalanced PCI IRQ Holder having a NULL
devnode. During the suspend process, Configuration Manager tries to remove
resources for PCI devices but fails if a device's IRQ Holder has a NULL
devnode, resulting in that PCI device being marked with
CM_PROB_HARDWARE_DISABLED (error code 29).
RESOLUTION
As a workaround, reducing device IRQ requirements in the system can prevent
the IRQ rebalance, and this bug, from occurring. Leaving at least one
system IRQ unused prevents this problem.
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. This bug was fixed in Windows 98.
MORE INFORMATION
Due to the nature of PCI interrupts and IRQ routing, this bug may or may
not be evident on a given system based on a number of variables including
PCI slot design (how the PCI interrupts are routed between slots), PCI card
interrupt usage, and system IRQ availability.
Keywords: kbBug kbOSWin98fix KB196121
Technology: kbAudDeveloper kbWin32DDK95 kbWin32DDKSearch kbWin32sSearch kbWin95search kbWinDDKSearch