Microsoft KB Archive/123460

-

The information in this article applies to:


 * Microsoft Win32 Device Driver Kit (DDK) for Windows NT, version 3.5

-

SYMPTOMS
When a device driver calls IoAssignResources for a PCI bus, the call may fail due to an interrupt-line conflict even though the caller did not specify an interrupt resource. This only occurs during an improper BIOS initialization, but a driver should be able to use the IoAssignResources API to work around the improper BIOS initialization.

RESOLUTION
There is an interim fix available that allows IoAssignResource to succeed if the caller doesn't want an interrupt vector regardless of whether or not the BIOS configured the physical device's interrupt vector.

STATUS
Microsoft has confirmed this to be a problem in Windows NT version 3.5. A fix to this problem is in development, but has not been regression-tested and may be destabilizing in production environments. Microsoft does not recommend implementing this fix at this time. Contact Microsoft Product Support Services for more information on the availability of this fix.

MORE INFORMATION
Several issues were resolved in the fix:


 * Not using BIOS settings for PCI-to-Memory posting and read-around-writes on computers which contain the Intel 82434 A1 stepping or later.
 * Spurious interrupts on PCI devices.
 * IoAssignResources fails if the target PCI device and the driver's requested resource list do not request interrupt vectors and the BIOS doesn't assign an interrupt vector.
 * Computer hangs on warm boot if only one processor is installed and the BIOS registers two (correction to HALMPS.DLL).

Additional query words: 3.50 buglist3.50

Keywords         : Version          : Platform         : Issue type       : Last Reviewed: March 1, 1999