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


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.


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



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).

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