DRIVER_POWER_STATE_FAILURE in IRP_MN_REMOVE_DEVICE

Hello, guys!
In my usb filter (upper) driver in IrpDispatchHandler() I have BSOD (DRIVER_POWER_STATE_FAILURE ) on process IRP_MN_REMOVE_DEVICE :

Code :
************
IoReleaseRemoveLockAndWait(&deviceExtension->removeLock, Irp);
IoSkipCurrentIrpStackLocation(Irp);
ntStatus = IoCallDriver(deviceExtension->nextLowerDriver, Irp);
bsod here ->
**********

BSOD :
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

DRIVER_POWER_STATE_FAILURE (9f)
A driver has failed to complete a power IRP within a specific time.
Arguments:
Arg1: 0000000000000004, The power transition timed out waiting to synchronize with the Pnp
subsystem.
Arg2: 000000000000012c, Timeout in seconds.
Arg3: ffffe0000f22e580, The thread currently holding on to the Pnp lock.
Arg4: ffffd000f73be980, nt!TRIAGE_9F_PNP on Win7 and higher

Debugging Details:

DRVPOWERSTATE_SUBCODE: 4

IMAGE_NAME: pci.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 53d0f1d4

MODULE_NAME: pci

FAULTING_MODULE: fffff8011cb65000 pci

CUSTOMER_CRASH_COUNT: 1

DEFAULT_BUCKET_ID: WIN8_DRIVER_FAULT

BUGCHECK_STR: 0x9F

PROCESS_NAME: System

CURRENT_IRQL: 2

ANALYSIS_VERSION: 6.3.9600.16384 (debuggers(dbg).130821-1623) amd64fre

STACK_TEXT:
ffffd000f71d2fb0 fffff80273aa1f7e : fffff80273d0d180 ffffe0000f22e580 00000000fffffffe 00000000fffffffe : nt!KiSwapContext+0x76
ffffd000f71d30f0 fffff80273aa19f9 : ffffd000f732e180 ffffe00012e6d880 0000000000000000 fffff80273aaa761 : nt!KiSwapThread+0x14e
ffffd000f71d3190 fffff80273a681d3 : ffffe000131b25e8 0000000000000000 ffffc001f4806b90 ffffe000131b2558 : nt!KiCommitThreadWait+0x129
ffffd000f71d3210 fffff8011d72cd0e : ffffe000131b2608 fffff80100000000 ffffd000f71d3300 ffffe00000000000 : nt!KeWaitForSingleObject+0x373
ffffd000f71d32a0 fffff8011d725917 : 0000000000000000 ffffe000131b2600 ffff9954236a7d1e fffff8011d726fcf : ndis!KWaitEvent::Wait+0x22
ffffd000f71d32e0 fffff8011d76221f : ffffe000131b11a0 ffffe000131b25e8 ffffd000f71d3430 ffffe000131b25e8 : ndis!Ndis::BindEngine::ApplyBindChanges+0xffffffffffffffe7 ffffd000f71d3330 fffff8011d72cd75 : ffffe000131b11a0 ffffe000131b1050 ffffe000131b11a0 ffffe000131b1050 : ndis!ndisPnPRemoveDevice+0x18b ffffd000f71d3580 fffff8011d767c93 : 0000000000000000 ffffe000131b1050 ffffe0000f3fc760 ffffe00000000000 : ndis!ndisPnPRemoveDeviceEx+0x59 ffffd000f71d35b0 fffff8011d727df8 : ffffe0000f3fc760 ffffd000f71d3650 ffffe000131b11a0 0000000000000000 : ndis!ndisPnPIrpRemoveDevice+0x4fa3 ffffd000f71d3610 fffff8011efe4355 : 0000000000000001 0000000000000000 ffffe00013b37101 fffff80273a9d6e5 : ndis!ndisPnPDispatch+0x1f8 ffffd000f71d3680 fffff80273dfffba : ffffe00013b37060 0000000000000000 ffffd000f71d37b0 0000000000000003 : My_USBFilter!IrpDispatchHandler+0xf9 ffffd000f71d3700 fffff80273ecf460 : 0000000000000002 ffffd000f71d37c9 ffffe0000ff49010 ffffe0000ff4a830 : nt!IopSynchronousCall+0xfe ffffd000f71d3770 fffff80273b203e6 : ffffc001f359dd30 000000000000000a ffffe0000ff49010 000000000000000a : nt!IopRemoveDevice+0xe0 ffffd000f71d3830 fffff80273ecee65 : ffffe0000ff4a830 ffffe0000ff49010 ffffc001fa0a4840 ffffe0000ff4a830 : nt!PnpRemoveLockedDeviceNode+0xf2 ffffd000f71d3890 fffff80273ecedde : 0000000000000000 ffffc001fa0a4840 ffffe0000ff49010 000000003f051397 : nt!PnpDeleteLockedDeviceNode+0x4d ffffd000f71d38d0 fffff80273ece1f1 : ffffe0000ff4a830 ffffd00000000002 0000000000000000 0000000000000000 : nt!PnpDeleteLockedDeviceNodes+0x9a ffffd000f71d3950 fffff80273e448f1 : ffffc001f359dd00 0000000000000001 ffffc00100000000 ffffe000ffffffff : nt!PnpProcessQueryRemoveAndEject+0x539 ffffd000f71d3ab0 fffff80273e44d37 : ffffc001f359dd30 0000000000000000 0000000000000000 fffff80273e44a18 : nt!PnpProcessTargetDeviceEvent+0x9d ffffd000f71d3af0 fffff80273a9e4bf : fffff80273e44a18 ffffc001fa0bd680 ffffe0000f22e580 ffffe00014e80e50 : nt!PnpDeviceEventWorker+0x31f ffffd000f71d3b50 fffff80273b0b554 : 8000000000580121 ffffe0000f22e580 0000000000000080 ffffe0000f22e580 : nt!ExpWorkerThread+0x69f ffffd000f71d3c00 fffff80273b63ec6 : ffffd000f732e180 ffffe0000f22e580 ffffd000f733a2c0 8000000000580121 : nt!PspSystemThreadStartup+0x58 ffffd000f71d3c60 0000000000000000 : ffffd000f71d4000 ffffd000f71ce000 0000000000000000 00000000`00000000 : nt!KiStartSystemThread+0x16

What can happened?

xxxxx@gmail.com wrote:

Hello, guys!
In my usb filter (upper) driver in IrpDispatchHandler() I have BSOD (DRIVER_POWER_STATE_FAILURE ) on process IRP_MN_REMOVE_DEVICE :

How, exactly, did you install your filter, and please be precise? Did
you expect that you would be filtering a network driver? If you look at
the call stack, you can see that the next driver below you is NDIS. Iā€™m
wondering if you made a mistake and accidentally installed your driver
more widely than you expect.

If you did expect to filter a network device, what was happening when
this happened? Were you trying to shutdown, or disable the device? Was
there network activity at the time?

STACK_TEXT:
ffffd000f71d2fb0 fffff80273aa1f7e : fffff80273d0d180 ffffe0000f22e580 00000000fffffffe 00000000fffffffe : nt!KiSwapContext+0x76
ffffd000f71d30f0 fffff80273aa19f9 : ffffd000f732e180 ffffe00012e6d880 0000000000000000 fffff80273aaa761 : nt!KiSwapThread+0x14e
ffffd000f71d3190 fffff80273a681d3 : ffffe000131b25e8 0000000000000000 ffffc001f4806b90 ffffe000131b2558 : nt!KiCommitThreadWait+0x129
ffffd000f71d3210 fffff8011d72cd0e : ffffe000131b2608 fffff80100000000 ffffd000f71d3300 ffffe00000000000 : nt!KeWaitForSingleObject+0x373
ffffd000f71d32a0 fffff8011d725917 : 0000000000000000 ffffe000131b2600 ffff9954236a7d1e fffff8011d726fcf : ndis!KWaitEvent::Wait+0x22
ffffd000f71d32e0 fffff8011d76221f : ffffe000131b11a0 ffffe000131b25e8 ffffd000f71d3430 ffffe000131b25e8 : ndis!Ndis::BindEngine::ApplyBindChanges+0xffffffffffffffe7 ffffd000f71d3330 fffff8011d72cd75 : ffffe000131b11a0 ffffe000131b1050 ffffe000131b11a0 ffffe000131b1050 : ndis!ndisPnPRemoveDevice+0x18b ffffd000f71d3580 fffff8011d767c93 : 0000000000000000 ffffe000131b1050 ffffe0000f3fc760 ffffe00000000000 : ndis!ndisPnPRemoveDeviceEx+0x59 ffffd000f71d35b0 fffff8011d727df8 : ffffe0000f3fc760 ffffd000f71d3650 ffffe000131b11a0 0000000000000000 : ndis!ndisPnPIrpRemoveDevice+0x4fa3 ffffd000f71d3610 fffff8011efe4355 : 0000000000000001 0000000000000000 ffffe00013b37101 fffff80273a9d6e5 : ndis!ndisPnPDispatch+0x1f8 ffffd000f71d3680 fffff80273dfffba : ffffe00013b37060 0000000000000000 ffffd000f71d37b0 0000000000000003 : My_USBFilter!IrpDispatchHandler+0xf9 ffffd000f71d3700 fffff80273ecf460 : 0000000000000002 ffffd000f71d37c9 ffffe0000ff49010 ffffe0000ff4a830 : nt!IopSynchronousCall+0xfe ffffd000f71d3770 fffff80273b203e6 : ffffc001f359dd30 000000000000000a ffffe0000ff49010 000000000000000a : nt!IopRemoveDevice+0xe0 ffffd000f71d3830 fffff80273ecee65 : ffffe0000ff4a830 ffffe0000ff49010 ffffc001fa0a4840 ffffe0000ff4a830 : nt!PnpRemoveLockedDeviceNode+0xf2 ffffd000f71d3890 fffff80273ecedde : 0000000000000000 ffffc001fa0a4840 ffffe0000ff49010 000000003f051397 : nt!PnpDeleteLockedDeviceNode+0x4d ffffd000f71d38d0 fffff80273ece1f1 : ffffe0000ff4a830 ffffd00000000002 0000000000000000 0000000000000000 : nt!PnpDeleteLockedDeviceNodes+0x9a ffffd000f71d3950 fffff80273e448f1 : ffffc001f359dd00 0000000000000001 ffffc00100000000 ffffe000ffffffff : nt!PnpProcessQueryRemoveAndEject+0x539 ffffd000f71d3ab0 fffff80273e44d37 : ffffc001f359dd30 0000000000000000 0000000000000000 fffff80273e44a18 : nt!PnpProcessTargetDeviceEvent+0x9d ffffd000f71d3af0 fffff80273a9e4bf : fffff80273e44a18 ffffc001fa0bd680 ffffe0000f22e580 ffffe00014e80e50 : nt!PnpDeviceEventWorker+0x31f ffffd000f71d3b50 fffff80273b0b554 : 8000000000580121 ffffe0000f22e580 0000000000000080 ffffe0000f22e580 : nt!ExpWorkerThread+0x69f ffffd000f71d3c00 fffff80273b63ec6 : ffffd000f732e180 ffffe0000f22e580 ffffd000f733a2c0 8000000000580121 : nt!PspSystemThreadStartup+0x58 ffffd000f71d3c60 0000000000000000 : ffffd000f71d4000 ffffd000f71ce000 0000000000000000 00000000`00000000 : nt!KiStartSystemThread+0x16

ā€“
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Hello, guys!
In my usb filter (upper) driver in IrpDispatchHandler() I have BSOD (DRIVER_POWER_STATE_FAILURE ) on process IRP_MN_REMOVE_DEVICE :

Code :
************
IoReleaseRemoveLockAndWait(&deviceExtension->removeLock, Irp);
IoSkipCurrentIrpStackLocation(Irp);
ntStatus = IoCallDriver(deviceExtension->nextLowerDriver, Irp);
bsod here ->
**********

BSOD :
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

DRIVER_POWER_STATE_FAILURE (9f)
A driver has failed to complete a power IRP within a specific time.
Arguments:
Arg1: 0000000000000004, The power transition timed out waiting to synchronize with the Pnp
subsystem.
Arg2: 000000000000012c, Timeout in seconds.
Arg3: ffffe0000f22e580, The thread currently holding on to the Pnp lock.
Arg4: ffffd000f73be980, nt!TRIAGE_9F_PNP on Win7 and higher

Debugging Details:

DRVPOWERSTATE_SUBCODE: 4

IMAGE_NAME: pci.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 53d0f1d4

MODULE_NAME: pci

FAULTING_MODULE: fffff8011cb65000 pci

CUSTOMER_CRASH_COUNT: 1

DEFAULT_BUCKET_ID: WIN8_DRIVER_FAULT

BUGCHECK_STR: 0x9F

PROCESS_NAME: System

CURRENT_IRQL: 2

ANALYSIS_VERSION: 6.3.9600.16384 (debuggers(dbg).130821-1623) amd64fre

STACK_TEXT:
ffffd000f71d2fb0 fffff80273aa1f7e : fffff80273d0d180 ffffe0000f22e580 00000000fffffffe 00000000fffffffe : nt!KiSwapContext+0x76
ffffd000f71d30f0 fffff80273aa19f9 : ffffd000f732e180 ffffe00012e6d880 0000000000000000 fffff80273aaa761 : nt!KiSwapThread+0x14e
ffffd000f71d3190 fffff80273a681d3 : ffffe000131b25e8 0000000000000000 ffffc001f4806b90 ffffe000131b2558 : nt!KiCommitThreadWait+0x129
ffffd000f71d3210 fffff8011d72cd0e : ffffe000131b2608 fffff80100000000 ffffd000f71d3300 ffffe00000000000 : nt!KeWaitForSingleObject+0x373
ffffd000f71d32a0 fffff8011d725917 : 0000000000000000 ffffe000131b2600 ffff9954236a7d1e fffff8011d726fcf : ndis!KWaitEvent::Wait+0x22
ffffd000f71d32e0 fffff8011d76221f : ffffe000131b11a0 ffffe000131b25e8 ffffd000f71d3430 ffffe000131b25e8 : ndis!Ndis::BindEngine::ApplyBindChanges+0xffffffffffffffe7 ffffd000f71d3330 fffff8011d72cd75 : ffffe000131b11a0 ffffe000131b1050 ffffe000131b11a0 ffffe000131b1050 : ndis!ndisPnPRemoveDevice+0x18b ffffd000f71d3580 fffff8011d767c93 : 0000000000000000 ffffe000131b1050 ffffe0000f3fc760 ffffe00000000000 : ndis!ndisPnPRemoveDeviceEx+0x59 ffffd000f71d35b0 fffff8011d727df8 : ffffe0000f3fc760 ffffd000f71d3650 ffffe000131b11a0 0000000000000000 : ndis!ndisPnPIrpRemoveDevice+0x4fa3 ffffd000f71d3610 fffff8011efe4355 : 0000000000000001 0000000000000000 ffffe00013b37101 fffff80273a9d6e5 : ndis!ndisPnPDispatch+0x1f8 ffffd000f71d3680 fffff80273dfffba : ffffe00013b37060 0000000000000000 ffffd000f71d37b0 0000000000000003 : My_USBFilter!IrpDispatchHandler+0xf9 ffffd000f71d3700 fffff80273ecf460 : 0000000000000002 ffffd000f71d37c9 ffffe0000ff49010 ffffe0000ff4a830 : nt!IopSynchronousCall+0xfe ffffd000f71d3770 fffff80273b203e6 : ffffc001f359dd30 000000000000000a ffffe0000ff49010 000000000000000a : nt!IopRemoveDevice+0xe0 ffffd000f71d3830 fffff80273ecee65 : ffffe0000ff4a830 ffffe0000ff49010 ffffc001fa0a4840 ffffe0000ff4a830 : nt!PnpRemoveLockedDeviceNode+0xf2 ffffd000f71d3890 fffff80273ecedde : 0000000000000000 ffffc001fa0a4840 ffffe0000ff49010 000000003f051397 : nt!PnpDeleteLockedDeviceNode+0x4d ffffd000f71d38d0 fffff80273ece1f1 : ffffe0000ff4a830 ffffd00000000002 0000000000000000 0000000000000000 : nt!PnpDeleteLockedDeviceNodes+0x9a ffffd000f71d3950 fffff80273e448f1 : ffffc001f359dd00 0000000000000001 ffffc00100000000 ffffe000ffffffff : nt!PnpProcessQueryRemoveAndEject+0x539 ffffd000f71d3ab0 fffff80273e44d37 : ffffc001f359dd30 0000000000000000 0000000000000000 fffff80273e44a18 : nt!PnpProcessTargetDeviceEvent+0x9d ffffd000f71d3af0 fffff80273a9e4bf : fffff80273e44a18 ffffc001fa0bd680 ffffe0000f22e580 ffffe00014e80e50 : nt!PnpDeviceEventWorker+0x31f ffffd000f71d3b50 fffff80273b0b554 : 8000000000580121 ffffe0000f22e580 0000000000000080 ffffe0000f22e580 : nt!ExpWorkerThread+0x69f ffffd000f71d3c00 fffff80273b63ec6 : ffffd000f732e180 ffffe0000f22e580 ffffd000f733a2c0 8000000000580121 : nt!PspSystemThreadStartup+0x58 ffffd000f71d3c60 0000000000000000 : ffffd000f71d4000 ffffd000f71ce000 0000000000000000 00000000`00000000 : nt!KiStartSystemThread+0x16

What can happened?

xxxxx@gmail.com wrote:

Hello, guys!
In my usb filter (upper) driver in IrpDispatchHandler() I have BSOD (DRIVER_POWER_STATE_FAILURE ) on process IRP_MN_REMOVE_DEVICE :

You asked this exact question on Tuesday, and I answered it. Did you
not like the answer? Or are you not paying attention?

ā€“
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.