NdisEqualString Called At Wrong IRQL

 

Knowledge Base ID

KB11039901
Category CLOSED BUG

Effected Product

PCASIM - NDIS Intermediate (IM) Driver Samples For Windows NT 4.0

Effected Versions

V1.00.01.06 and prior.
Effected Platforms Windows NT 4.0

 

Symptoms

Running PCASIM on Windows NT 4.0 CHECKED build generates an ASSERT error at startup.

 

Cause

The NdisEqualString function is called at IRQL DISPATCH_LEVEL because it is within a loop where a SpinLock has been acquired. NdisEqualString should only be called at IRQL PASSIVE_LEVEL.

 

Resolution

The problem is actually caused by over-enthusiastic use of SpinLocks. The use of SpinLocks is not necessary or useful in the effected functions.

An interim fix is to delete the calls to NdisAcquireSpinLock and NdisReleaseSpinLock that surround the while look that includes the call to NdisEqualString. This change should be made in the UTIL.C module, in the following two functions:

bulletUTILFindAdapterByVirtualAdapterName
bulletUTILFindAdapterByAdapterName

 

Status

March 10, 2000 Fixed in V1.00.01.07.
November 3, 1999 A fix to this bug will be provided in the next release of PCASIM.

 

Comments

Please click the following link to send e-mail relating to this PCAUSA Knowledge Base topic:

<Send Mail To KB11039901 Technical Contact>

 

Keywords PCASIM, BUG
Created November 3, 1999
Last Reviewed November 3, 1999

 
 

PCAUSA Home · Privacy Statement · Products · Ordering · Support · Utilities · Resources
Mailing Lists  · PCAUSA Newsletter · PCAUSA Discussion List
 
Rawether for Windows and WinDis 32 are trademarks of Printing Communications Assoc., Inc. (PCAUSA)
Microsoft, MS, Windows, Windows 95, Windows 98, Windows Millennium, Windows 2000, and Win32 are registered trademarks and Visual C++ and Windows NT are trademarks of the Microsoft Corporation.
Send mail to webmaster@pcausa.com with questions or comments about this web site.
Copyright © 1996-2008 Printing Communications Assoc., Inc. (PCAUSA)
Last modified: December 31, 2007