FIX: Windows 98: Reenumerating PCI Device Can Cause Reboot

ID: Q222824

Windows 98: Reenumerating PCI Device May Cause Reboot
The information in this article applies to:


SYMPTOMS

On a Windows 98 ACPI system, reenumerating a Peripheral Component Interconnect (PCI) device may cause the system to crash. For example, if a user employs Device Manager to remove a PCI device and then refreshes, the system can unexpectedly reboot. This problem is evident on systems using the Intel PIIX4 chipset.


CAUSE

If a PCI device does not share its interrupt with any other devices, removing it will cause Windows 98 to call the BIOS _DIS method for the PCI .lnk extension, which will disable the PIRQ. The problem is that Windows 98 leaves the ELCR (EISA Level Control Register) bit for the interrupt set to level mode, instead of edge mode. After the PCI device is subsequently reenumerated, spurious interrupts occur when the interrupt is unmasked, causing the system to crash.


STATUS

This problem has been fixed for future versions of Windows 98.

Additional query words:


Keywords          : kbDDK kbWinOS98bug 
Version           : Win98:
Platform          : Win98 
Issue type        : kbbug 

Last Reviewed: April 12, 1999