BUG: Interim Fix for IoAssignResource Fails When It Shouldn't

Last reviewed: October 29, 1997
Article ID: Q123460
3.50 WINDOWS kbprg kbbuglist

The information in this article applies to:

  • Microsoft Win32 Device Development 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 reference words: 3.50 buglist3.50
KBCategory: kbprg kbbuglist
KBSubcategory:
Solution Type : kbfix


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: October 29, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.