A Windows 7 machine may encounter Bugcheck 0x000000D1 while reading data in a loop from a USB-Serial device

Symptoms

Consider the following scenario:

You have a Windows 7 machine.
You have a serial USB device, while the device reads data in a loop from a USB Serial device; you encounter a Bugcheck 0x000000D1.

Cause

The bugcheck occurs due to a synchronization problem in a code path where it completes a IRP while another is trying to process it.

Resolution

Workarounds:

1. Do not use COMMTIMEOUTS in your device, but Application level timeouts.
2. Move to WinUsb/UMDF.
3. Use the UsbSer source code which is released in the Windows Driver Kit (WDK).
http://msdn.microsoft.com/en-us/library/windows/hardware/gg487428.aspx
Properties

Article ID: 2743712 - Last Review: Aug 27, 2012 - Revision: 1

Windows 7 Home Basic, Windows 7 Home Premium, Windows 7 Professional, Windows 7 Enterprise, Windows 7 Ultimate

Feedback