BSOD 0x9F POWER STATE FAIL

I got the issue on Windows 7 with my driver when system shutdown. It’s racing condition and just happen one time around 200 cycles of warm boot.

I know one or more IRPs was in pending state when system shutdown and they were prevent system down and make BSOD but I don’t know exactly where is it.

I used some I/O as: WdfIoTargetSendIoctlSynchronously, KeWaitForSingleObject and already set timeout for them.

I also had a class driver above mshidkmdf, it’s top level of stack . Might the driver raise the issue? The issue is random so it’s difficult to trace. Any suggestion?

Thanks.

DEBUG:

0: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

DRIVER_POWER_STATE_FAILURE (9f)
A driver has failed to complete a power IRP within a specific time.
Arguments:
Arg1: 0000000000000003, A device object has been blocking an Irp for too long a time
Arg2: fffffa8009760520, Physical Device Object of the stack
Arg3: fffff80000b9a3d8, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise the Functional Device Object of the stack
Arg4: fffffa800bde75d0, The blocked IRP

STACK_TEXT:
fffff80000b9a388 fffff80002f45b92 : 000000000000009f 0000000000000003 fffffa8009760520 fffff80000b9a3d8 : nt!KeBugCheckEx
fffff80000b9a390 fffff80002ee0cfc : fffff80000b9a4c0 fffff80000b9a4c0 0000000000000000 0000000000000001 : nt! ?? ::FNODOBFM::string'+0x33af0 fffff80000b9a430 fffff80002ee0b96 : fffff80003087140 000000000000b0fc 0000000000000000 0000000000000000 : nt!KiProcessTimerDpcTable+0x6c fffff80000b9a4a0 fffff80002ee0a7e : 00000001a54b9192 fffff80000b9ab18 000000000000b0fc fffff80003056208 : nt!KiProcessExpiredTimerList+0xc6 fffff80000b9aaf0 fffff80002ee0867 : 00000000397ee2c1 000000000000b0fc 00000000397ee2e6 00000000000000fc : nt!KiTimerExpiration+0x1be fffff80000b9ab90 fffff80002eccbca : fffff80003051e80 fffff8000305fcc0 0000000000000002 fffff88000000000 : nt!KiRetireDpcList+0x277 fffff80000b9ac40 0000000000000000 : fffff80000b9b000 fffff80000b95000 fffff80000b9ac00 00000000`00000000 : nt!KiIdleLoop+0x5a

0: kd> !devstack fffffa8009760520
!DevObj !DrvObj !DevExt ObjectName
fffffa8009777060 \Driver\mshidkmdf fffffa80097771b0 _HID00000000
fffffa8009776650 \Driver\delli2chid fffffa80097752b0

fffffa8009760520 \Driver\ACPI fffffa80068a7010 0000007f
!DevNode fffffa8009779900 :
DeviceInst is “ACPI\SMO91D0\1”
ServiceName is “mshidkmdf”

0: kd> !thread fffffa80066ca660
THREAD fffffa80066ca660 Cid 0004.0014 Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT: (Executive) KernelMode Non-Alertable
fffffa8009830f58 NotificationEvent
Not impersonating
DeviceMap fffff8a000008c10
Owning Process fffffa80066ba5f0 Image: System
Attached Process N/A Image: N/A
Wait Start TickCount 6720 Ticks: 38588 (0:00:10:01.976)
Context Switch Count 50 IdealProcessor: 0
UserTime 00:00:00.000
KernelTime 00:00:00.015
Win32 Start Address nt!PopIrpWorker (0xfffff80002ff1da0)
Stack Init fffff88003114c70 Current fffff88003114720
Base fffff88003115000 Limit fffff8800310f000 Call 0
Priority 13 BasePriority 13 UnusualBoost 0 ForegroundBoost 0 IoPriority 2 PagePriority 5
Child-SP RetAddr : Args to Child : Call Site
fffff88003114760 fffff80002eda0f2 : 0000000000000000 fffffa80066ca660 0000000000000006 fffffa800000000d : nt!KiSwapContext+0x7a
fffff880031148a0 fffff80002edc90f : fffffa80071cc640 fffff88000f453f1 0f440f6800000000 fffff880031149b0 : nt!KiCommitThreadWait+0x1d2
fffff88003114930 fffff880078d6042 : fffffa8009830f00 0000000000000000 0000000000000000 fffff88003114a00 : nt!KeWaitForSingleObject+0x19f
fffff880031149d0 fffff880078d9ec9 : fffffa800bde78e0 0000000080000000 fffffa80097771d0 fffffa800bde75d0 : HIDCLASS!CancelAllPingPongIrps+0x122
fffff88003114a10 fffff880078da207 : fffffa80097771b0 fffffa800bde78e0 fffff880078dd400 fffffa80097771b0 : HIDCLASS!HidpFdoPower+0x105
fffff88003114a70 fffff880078d385b : fffff880078de3b8 fffff880078dd4f0 fffffa80097771b0 0000000000000000 : HIDCLASS!HidpIrpMajorPower+0x153
fffff88003114ae0 fffff80002ff2165 : 0000000000000000 0000000000000001 0000000000000000 fffffa800bde7678 : HIDCLASS!HidpMajorHandler+0x14b
fffff88003114b50 fffff80003173b8a : 0000000000000000 fffffa80066ca660 0000000000000080 0000000000000000 : nt!PopIrpWorker+0x3c5
fffff88003114c00 fffff80002ec68e6 : fffff88003116180 fffffa80066ca660 fffff88003120fc0 0000000000000000 : nt!PspSystemThreadStartup+0x5a
fffff88003114c40 0000000000000000 : fffff88003115000 0000000000000000 0000000000000000 0000000000000000 : nt!KxStartSystemThread+0x16

Hidclass is waiting for its read ping ping request to complete after it has been canceled. It sounds like you are synchronously sending these requests down to your device. Instead you should be sending them async. What is your timeout value?

d

Bent from my phone


From: xxxxx@gmail.commailto:xxxxx
Sent: ?4/?23/?2015 8:21 PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: [ntdev] BSOD 0x9F POWER STATE FAIL

I got the issue on Windows 7 with my driver when system shutdown. It’s racing condition and just happen one time around 200 cycles of warm boot.

I know one or more IRPs was in pending state when system shutdown and they were prevent system down and make BSOD but I don’t know exactly where is it.

I used some I/O as: WdfIoTargetSendIoctlSynchronously, KeWaitForSingleObject and already set timeout for them.

I also had a class driver above mshidkmdf, it’s top level of stack . Might the driver raise the issue? The issue is random so it’s difficult to trace. Any suggestion?

Thanks.

DEBUG:

0: kd> !analyze -v


Bugcheck Analysis



DRIVER_POWER_STATE_FAILURE (9f)
A driver has failed to complete a power IRP within a specific time.
Arguments:
Arg1: 0000000000000003, A device object has been blocking an Irp for too long a time
Arg2: fffffa8009760520, Physical Device Object of the stack
Arg3: fffff80000b9a3d8, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise the Functional Device Object of the stack
Arg4: fffffa800bde75d0, The blocked IRP

STACK_TEXT:
fffff80000b9a388 fffff80002f45b92 : 000000000000009f 0000000000000003 fffffa8009760520 fffff80000b9a3d8 : nt!KeBugCheckEx
fffff80000b9a390 fffff80002ee0cfc : fffff80000b9a4c0 fffff80000b9a4c0 0000000000000000 0000000000000001 : nt! ?? ::FNODOBFM::string'+0x33af0<br>fffff80000b9a430 fffff80002ee0b96 : fffff80003087140 000000000000b0fc 0000000000000000 0000000000000000 : nt!KiProcessTimerDpcTable+0x6c<br>fffff80000b9a4a0 fffff80002ee0a7e : 00000001a54b9192 fffff80000b9ab18 000000000000b0fc fffff80003056208 : nt!KiProcessExpiredTimerList+0xc6<br>fffff80000b9aaf0 fffff80002ee0867 : 00000000397ee2c1 000000000000b0fc 00000000397ee2e6 00000000000000fc : nt!KiTimerExpiration+0x1be<br>fffff80000b9ab90 fffff80002eccbca : fffff80003051e80 fffff8000305fcc0 0000000000000002 fffff88000000000 : nt!KiRetireDpcList+0x277<br>fffff80000b9ac40 0000000000000000 : fffff80000b9b000 fffff80000b95000 fffff80000b9ac00 0000000000000000 : nt!KiIdleLoop+0x5a<br><br>0: kd&gt; !devstack fffffa8009760520<br> !DevObj !DrvObj !DevExt ObjectName<br> fffffa8009777060 \Driver\mshidkmdf fffffa80097771b0 _HID00000000<br> fffffa8009776650 \Driver\delli2chid fffffa80097752b0<br>&gt; fffffa8009760520 \Driver\ACPI fffffa80068a7010 0000007f<br>!DevNode fffffa8009779900 :<br> DeviceInst is "ACPI\SMO91D0\1"<br> ServiceName is "mshidkmdf"<br><br>0: kd&gt; !thread fffffa80066ca660<br>THREAD fffffa80066ca660 Cid 0004.0014 Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT: (Executive) KernelMode Non-Alertable<br> fffffa8009830f58 NotificationEvent<br>Not impersonating<br>DeviceMap fffff8a000008c10<br>Owning Process fffffa80066ba5f0 Image: System<br>Attached Process N/A Image: N/A<br>Wait Start TickCount 6720 Ticks: 38588 (0:00:10:01.976)<br>Context Switch Count 50 IdealProcessor: 0<br>UserTime 00:00:00.000<br>KernelTime 00:00:00.015<br>Win32 Start Address nt!PopIrpWorker (0xfffff80002ff1da0)<br>Stack Init fffff88003114c70 Current fffff88003114720<br>Base fffff88003115000 Limit fffff8800310f000 Call 0<br>Priority 13 BasePriority 13 UnusualBoost 0 ForegroundBoost 0 IoPriority 2 PagePriority 5<br>Child-SP RetAddr : Args to Child : Call Site<br>fffff88003114760 fffff80002eda0f2 : 0000000000000000 fffffa80066ca660 0000000000000006 fffffa800000000d : nt!KiSwapContext+0x7a<br>fffff880031148a0 fffff80002edc90f : fffffa80071cc640 fffff88000f453f1 0f440f6800000000 fffff880031149b0 : nt!KiCommitThreadWait+0x1d2<br>fffff88003114930 fffff880078d6042 : fffffa8009830f00 0000000000000000 0000000000000000 fffff88003114a00 : nt!KeWaitForSingleObject+0x19f<br>fffff880031149d0 fffff880078d9ec9 : fffffa800bde78e0 0000000080000000 fffffa80097771d0 fffffa800bde75d0 : HIDCLASS!CancelAllPingPongIrps+0x122<br>fffff88003114a10 fffff880078da207 : fffffa80097771b0 fffffa800bde78e0 fffff880078dd400 fffffa80097771b0 : HIDCLASS!HidpFdoPower+0x105<br>fffff88003114a70 fffff880078d385b : fffff880078de3b8 fffff880078dd4f0 fffffa80097771b0 0000000000000000 : HIDCLASS!HidpIrpMajorPower+0x153<br>fffff88003114ae0 fffff80002ff2165 : 0000000000000000 0000000000000001 0000000000000000 fffffa800bde7678 : HIDCLASS!HidpMajorHandler+0x14b<br>fffff88003114b50 fffff80003173b8a : 0000000000000000 fffffa80066ca660 0000000000000080 0000000000000000 : nt!PopIrpWorker+0x3c5<br>fffff88003114c00 fffff80002ec68e6 : fffff88003116180 fffffa80066ca660 fffff88003120fc0 0000000000000000 : nt!PspSystemThreadStartup+0x5a<br>fffff88003114c40 0000000000000000 : fffff88003115000 0000000000000000 0000000000000000 00000000`00000000 : nt!KxStartSystemThread+0x16


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx>

Thanks Doron,

The timeout value is 10s for WDF_REQUEST_SEND_OPTIONS. Is it too long?

WDF_REQUEST_SEND_OPTIONS options;

​ WDF_REQUEST_SEND_OPTIONS_INIT(&options, 0);

WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT(&options, WDF_REL_TIMEOUT_IN_SEC(10));

WDF_MEMORY_DESCRIPTOR_INIT_BUFFER(&msgs_desc, msgs, sizeof(I2cMsg)*count);

status = WdfIoTargetSendIoctlSynchronously(

ctx->io_target, NULL, (ULONG)IOCTL_DI2C_SEQUENCE_EXECUTE, &msgs_desc, NULL,
&options, NULL);

My driver is Touch and Senor so we need almost real time response.
Sending async
is ok for the case?

I found that before system shutdown and got BSOD, device manager is hang
and cannot detect any new device as USB …

I have no idea why the issue come randomly, I run driver verifier but
cannot duplicate. It just com when we did warm boot stress test with 250
cycles.

On Fri, Apr 24, 2015 at 12:51 PM, Doron Holan
wrote:

> Hidclass is waiting for its read ping ping request to complete after it
> has been canceled. It sounds like you are synchronously sending these
> requests down to your device. Instead you should be sending them async.
> What is your timeout value?
>
> d
>
> Bent from my phone
> ------------------------------
> From: xxxxx@gmail.com
> Sent: ‎4/‎23/‎2015 8:21 PM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] BSOD 0x9F POWER STATE FAIL
>
> I got the issue on Windows 7 with my driver when system shutdown. It’s
> racing condition and just happen one time around 200 cycles of warm boot.
>
> I know one or more IRPs was in pending state when system shutdown and they
> were prevent system down and make BSOD but I don’t know exactly where is it.
>
> I used some I/O as: WdfIoTargetSendIoctlSynchronously,
> KeWaitForSingleObject and already set timeout for them.
>
> I also had a class driver above mshidkmdf, it’s top level of stack . Might
> the driver raise the issue? The issue is random so it’s difficult to trace.
> Any suggestion?
>
> Thanks.
>
> DEBUG:
>
> 0: kd> !analyze -v
>
> *****
>
>
> * Bugcheck
> Analysis
>
>
>
>

>
> DRIVER_POWER_STATE_FAILURE (9f)
> A driver has failed to complete a power IRP within a specific time.
> Arguments:
> Arg1: 0000000000000003, A device object has been blocking an Irp for too
> long a time
> Arg2: fffffa8009760520, Physical Device Object of the stack
> Arg3: fffff80000b9a3d8, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise
> the Functional Device Object of the stack
> Arg4: fffffa800bde75d0, The blocked IRP
>
> STACK_TEXT:
> fffff80000b9a388 fffff80002f45b92 : 000000000000009f 0000000000000003
> fffffa8009760520 fffff80000b9a3d8 : nt!KeBugCheckEx
> fffff80000b9a390 fffff80002ee0cfc : fffff80000b9a4c0 fffff80000b9a4c0
> 0000000000000000 0000000000000001 : nt! ?? ::FNODOBFM::string'+0x33af0<br>&gt; fffff80000b9a430 fffff80002ee0b96 : fffff80003087140 000000000000b0fc<br>&gt; 0000000000000000 0000000000000000 : nt!KiProcessTimerDpcTable+0x6c<br>&gt; fffff80000b9a4a0 fffff80002ee0a7e : 00000001a54b9192 fffff80000b9ab18<br>&gt; 000000000000b0fc fffff80003056208 : nt!KiProcessExpiredTimerList+0xc6<br>&gt; fffff80000b9aaf0 fffff80002ee0867 : 00000000397ee2c1 000000000000b0fc<br>&gt; 00000000397ee2e6 00000000000000fc : nt!KiTimerExpiration+0x1be<br>&gt; fffff80000b9ab90 fffff80002eccbca : fffff80003051e80 fffff8000305fcc0<br>&gt; 0000000000000002 fffff88000000000 : nt!KiRetireDpcList+0x277<br>&gt; fffff80000b9ac40 0000000000000000 : fffff80000b9b000 fffff80000b95000<br>&gt; fffff80000b9ac00 0000000000000000 : nt!KiIdleLoop+0x5a<br>&gt;<br>&gt; 0: kd&gt; !devstack fffffa8009760520<br>&gt; !DevObj !DrvObj !DevExt ObjectName<br>&gt; fffffa8009777060 \Driver\mshidkmdf fffffa80097771b0 _HID00000000<br>&gt; fffffa8009776650 \Driver\delli2chid fffffa80097752b0<br>&gt; &gt; fffffa8009760520 \Driver\ACPI fffffa80068a7010 0000007f<br>&gt; !DevNode fffffa8009779900 :<br>&gt; DeviceInst is "ACPI\SMO91D0\1"<br>&gt; ServiceName is "mshidkmdf"<br>&gt;<br>&gt; 0: kd&gt; !thread fffffa80066ca660<br>&gt; THREAD fffffa80066ca660 Cid 0004.0014 Teb: 0000000000000000 Win32Thread:<br>&gt; 0000000000000000 WAIT: (Executive) KernelMode Non-Alertable<br>&gt; fffffa8009830f58 NotificationEvent<br>&gt; Not impersonating<br>&gt; DeviceMap fffff8a000008c10<br>&gt; Owning Process fffffa80066ba5f0 Image: System<br>&gt; Attached Process N/A Image: N/A<br>&gt; Wait Start TickCount 6720 Ticks: 38588 (0:00:10:01.976)<br>&gt; Context Switch Count 50 IdealProcessor: 0<br>&gt; UserTime 00:00:00.000<br>&gt; KernelTime 00:00:00.015<br>&gt; Win32 Start Address nt!PopIrpWorker (0xfffff80002ff1da0)<br>&gt; Stack Init fffff88003114c70 Current fffff88003114720<br>&gt; Base fffff88003115000 Limit fffff8800310f000 Call 0<br>&gt; Priority 13 BasePriority 13 UnusualBoost 0 ForegroundBoost 0 IoPriority 2<br>&gt; PagePriority 5<br>&gt; Child-SP RetAddr : Args to<br>&gt; Child : Call Site<br>&gt; fffff88003114760 fffff80002eda0f2 : 0000000000000000 fffffa80066ca660<br>&gt; 0000000000000006 fffffa800000000d : nt!KiSwapContext+0x7a<br>&gt; fffff880031148a0 fffff80002edc90f : fffffa80071cc640 fffff88000f453f1<br>&gt; 0f440f6800000000 fffff880031149b0 : nt!KiCommitThreadWait+0x1d2<br>&gt; fffff88003114930 fffff880078d6042 : fffffa8009830f00 0000000000000000<br>&gt; 0000000000000000 fffff88003114a00 : nt!KeWaitForSingleObject+0x19f<br>&gt; fffff880031149d0 fffff880078d9ec9 : fffffa800bde78e0 0000000080000000<br>&gt; fffffa80097771d0 fffffa800bde75d0 : HIDCLASS!CancelAllPingPongIrps+0x122<br>&gt; fffff88003114a10 fffff880078da207 : fffffa80097771b0 fffffa800bde78e0<br>&gt; fffff880078dd400 fffffa80097771b0 : HIDCLASS!HidpFdoPower+0x105<br>&gt; fffff88003114a70 fffff880078d385b : fffff880078de3b8 fffff880078dd4f0<br>&gt; fffffa80097771b0 0000000000000000 : HIDCLASS!HidpIrpMajorPower+0x153<br>&gt; fffff88003114ae0 fffff80002ff2165 : 0000000000000000 0000000000000001<br>&gt; 0000000000000000 fffffa800bde7678 : HIDCLASS!HidpMajorHandler+0x14b<br>&gt; fffff88003114b50 fffff80003173b8a : 0000000000000000 fffffa80066ca660<br>&gt; 0000000000000080 0000000000000000 : nt!PopIrpWorker+0x3c5<br>&gt; fffff88003114c00 fffff80002ec68e6 : fffff88003116180 fffffa80066ca660<br>&gt; fffff88003120fc0 0000000000000000 : nt!PspSystemThreadStartup+0x5a<br>&gt; fffff88003114c40 0000000000000000 : fffff88003115000 0000000000000000<br>&gt; 0000000000000000 00000000`00000000 : nt!KxStartSystemThread+0x16
>
>
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

Synchronous Io will be, at best, as fast as async, but typically not as fast since it will involve another context switch to switch from the Io completion routine (which sets the event you are waiting on) to the waiting thread. Instead, send async Io and in the completion routine either send the next stage of the transfer or complete the hid read request. By going completely async when hidclass cancels the read the completion will just bubble up the stack.

Device manager is hung for the same reason that power is. When you disable the Dec,e, the read is canceled . Until it completes the pnp remove request is stuck. Pnp state changing requests are serialized across all stacks and until the remove completes the request to scan for new hw (or change an S state) will be blocked behind it

d

Bent from my phone


From: Tran Phuc Khanhmailto:xxxxx
Sent: ‎4/‎23/‎2015 11:37 PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: Re: [ntdev] BSOD 0x9F POWER STATE FAIL

Thanks Doron,

The timeout value is 10s for WDF_REQUEST_SEND_OPTIONS. Is it too long?

WDF_REQUEST_SEND_OPTIONS options;

​ WDF_REQUEST_SEND_OPTIONS_INIT(&options, 0);
WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT(&options, WDF_REL_TIMEOUT_IN_SEC(10));

WDF_MEMORY_DESCRIPTOR_INIT_BUFFER(&msgs_desc, msgs, sizeof(I2cMsg)*count);
status = WdfIoTargetSendIoctlSynchronously(
ctx->io_target, NULL, (ULONG)IOCTL_DI2C_SEQUENCE_EXECUTE, &msgs_desc, NULL, &options, NULL);

My driver is Touch and Senor so we need almost real time response. Sending async is ok for the case?

I found that before system shutdown and got BSOD, device manager is hang and cannot detect any new device as USB …

I have no idea why the issue come randomly, I run driver verifier but cannot duplicate. It just com when we did warm boot stress test with 250 cycles.

On Fri, Apr 24, 2015 at 12:51 PM, Doron Holan > wrote:
Hidclass is waiting for its read ping ping request to complete after it has been canceled. It sounds like you are synchronously sending these requests down to your device. Instead you should be sending them async. What is your timeout value?

d

Bent from my phone
________________________________
From: xxxxx@gmail.commailto:xxxxx
Sent: ‎4/‎23/‎2015 8:21 PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: [ntdev] BSOD 0x9F POWER STATE FAIL

I got the issue on Windows 7 with my driver when system shutdown. It’s racing condition and just happen one time around 200 cycles of warm boot.

I know one or more IRPs was in pending state when system shutdown and they were prevent system down and make BSOD but I don’t know exactly where is it.

I used some I/O as: WdfIoTargetSendIoctlSynchronously, KeWaitForSingleObject and already set timeout for them.

I also had a class driver above mshidkmdf, it’s top level of stack . Might the driver raise the issue? The issue is random so it’s difficult to trace. Any suggestion?

Thanks.

DEBUG:

0: kd> !analyze -v


Bugcheck Analysis



DRIVER_POWER_STATE_FAILURE (9f)
A driver has failed to complete a power IRP within a specific time.
Arguments:
Arg1: 0000000000000003, A device object has been blocking an Irp for too long a time
Arg2: fffffa8009760520, Physical Device Object of the stack
Arg3: fffff80000b9a3d8, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise the Functional Device Object of the stack
Arg4: fffffa800bde75d0, The blocked IRP

STACK_TEXT:
fffff80000b9a388 fffff80002f45b92 : 000000000000009f 0000000000000003 fffffa8009760520 fffff80000b9a3d8 : nt!KeBugCheckEx
fffff80000b9a390 fffff80002ee0cfc : fffff80000b9a4c0 fffff80000b9a4c0 0000000000000000 0000000000000001 : nt! ?? ::FNODOBFM::string'+0x33af0<br>fffff80000b9a430 fffff80002ee0b96 : fffff80003087140 000000000000b0fc 0000000000000000 0000000000000000 : nt!KiProcessTimerDpcTable+0x6c<br>fffff80000b9a4a0 fffff80002ee0a7e : 00000001a54b9192 fffff80000b9ab18 000000000000b0fc fffff80003056208 : nt!KiProcessExpiredTimerList+0xc6<br>fffff80000b9aaf0 fffff80002ee0867 : 00000000397ee2c1 000000000000b0fc 00000000397ee2e6 00000000000000fc : nt!KiTimerExpiration+0x1be<br>fffff80000b9ab90 fffff80002eccbca : fffff80003051e80 fffff8000305fcc0 0000000000000002 fffff88000000000 : nt!KiRetireDpcList+0x277<br>fffff80000b9ac40 0000000000000000 : fffff80000b9b000 fffff80000b95000 fffff80000b9ac00 0000000000000000 : nt!KiIdleLoop+0x5a<br><br>0: kd&gt; !devstack fffffa8009760520<br> !DevObj !DrvObj !DevExt ObjectName<br> fffffa8009777060 \Driver\mshidkmdf fffffa80097771b0 _HID00000000<br> fffffa8009776650 \Driver\delli2chid fffffa80097752b0<br>&gt; fffffa8009760520 \Driver\ACPI fffffa80068a7010 0000007f<br>!DevNode fffffa8009779900 :<br> DeviceInst is "ACPI\SMO91D0\1"<br> ServiceName is "mshidkmdf"<br><br>0: kd&gt; !thread fffffa80066ca660<br>THREAD fffffa80066ca660 Cid 0004.0014 Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT: (Executive) KernelMode Non-Alertable<br> fffffa8009830f58 NotificationEvent<br>Not impersonating<br>DeviceMap fffff8a000008c10<br>Owning Process fffffa80066ba5f0 Image: System<br>Attached Process N/A Image: N/A<br>Wait Start TickCount 6720 Ticks: 38588 (0:00:10:01.976)<br>Context Switch Count 50 IdealProcessor: 0<br>UserTime 00:00:00.000<br>KernelTime 00:00:00.015<br>Win32 Start Address nt!PopIrpWorker (0xfffff80002ff1da0)<br>Stack Init fffff88003114c70 Current fffff88003114720<br>Base fffff88003115000 Limit fffff8800310f000 Call 0<br>Priority 13 BasePriority 13 UnusualBoost 0 ForegroundBoost 0 IoPriority 2 PagePriority 5<br>Child-SP RetAddr : Args to Child : Call Site<br>fffff88003114760 fffff80002eda0f2 : 0000000000000000 fffffa80066ca660 0000000000000006 fffffa800000000d : nt!KiSwapContext+0x7a<br>fffff880031148a0 fffff80002edc90f : fffffa80071cc640 fffff88000f453f1 0f440f6800000000 fffff880031149b0 : nt!KiCommitThreadWait+0x1d2<br>fffff88003114930 fffff880078d6042 : fffffa8009830f00 0000000000000000 0000000000000000 fffff88003114a00 : nt!KeWaitForSingleObject+0x19f<br>fffff880031149d0 fffff880078d9ec9 : fffffa800bde78e0 0000000080000000 fffffa80097771d0 fffffa800bde75d0 : HIDCLASS!CancelAllPingPongIrps+0x122<br>fffff88003114a10 fffff880078da207 : fffffa80097771b0 fffffa800bde78e0 fffff880078dd400 fffffa80097771b0 : HIDCLASS!HidpFdoPower+0x105<br>fffff88003114a70 fffff880078d385b : fffff880078de3b8 fffff880078dd4f0 fffffa80097771b0 0000000000000000 : HIDCLASS!HidpIrpMajorPower+0x153<br>fffff88003114ae0 fffff80002ff2165 : 0000000000000000 0000000000000001 0000000000000000 fffffa800bde7678 : HIDCLASS!HidpMajorHandler+0x14b<br>fffff88003114b50 fffff80003173b8a : 0000000000000000 fffffa80066ca660 0000000000000080 0000000000000000 : nt!PopIrpWorker+0x3c5<br>fffff88003114c00 fffff80002ec68e6 : fffff88003116180 fffffa80066ca660 fffff88003120fc0 0000000000000000 : nt!PspSystemThreadStartup+0x5a<br>fffff88003114c40 0000000000000000 : fffff88003115000 0000000000000000 0000000000000000 00000000`00000000 : nt!KxStartSystemThread+0x16


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

— NTDEV is sponsored by OSR Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See http://www.osr.com/careers For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>