Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

The operating system may stop responding when you try to put the operating system into S3 sleep after you perform a surprise removal of a USB device on a Windows-based computer


View products that this article applies to.

Symptoms

On a Microsoft Windows-based computer, you perform a surprise removal of a universal serial bus (USB) device. When you try to put the operating system into S3 sleep (standby), the operating system may stop responding. When this problem occurs, the Plug and Play (PnP) manager may be unable to process any device removal actions or any device enumeration actions.

This problem may occur if the USB device is implemented by a Kernel-Mode Driver Framework driver that reads data from a bulk endpoint on the USB device using a USB Continuous Reader. A USB Continuous Reader is a framework-supplied mechanism.

This problem may occur in one of the following Windows operating systems:
  • Windows Server 2008
  • Windows Vista
  • Windows Server 2003
  • Windows XP

↑ Back to the top


Cause

This problem is caused by an error in the Microsoft Kernel-Mode Driver Framework version 1.7 and earlier, and may affect USB devices with drivers written for the Kernel-Mode Driver Framework version 1.7 and earlier.

↑ Back to the top


Resolution

This problem is scheduled to be fixed in the Kernel-Mode Driver Framework version 1.9 that is scheduled for release in the Microsoft Windows Driver Kit for Windows 7. To resolve this problem, developers of USB device drivers should build and install the driver by using the Kernel-Mode Driver Framework version 1.9.

↑ Back to the top


Workaround

To work around this problem, set the NumPendingReads member to 1 in the Kernel-Mode Driver Framework driver code when you configure a continuous reader for a USB device that uses the Kernel-Mode Driver Framework.

If the rate of the read events on the affected USB endpoint (pipe) is high, this workaround may cause occasional loss of the data that is received from the USB device. For example, if the USB endpoint has data that must be read while a previously completed single read request is being processed by the owning driver, data loss may occur.

↑ Back to the top


More information

For more information, see the following topics of the Windows Driver Kit documentation on the following Microsoft Developer Network (MSDN) Web sites:

↑ Back to the top


Keywords: kbexpertiseinter, kbbug, kbsurveynew, KB955986

↑ Back to the top

Article Info
Article ID : 955986
Revision : 2
Created on : 1/15/2010
Published on : 1/15/2010
Exists online : False
Views : 382