How to fix the error "A driver has failed to complete a power IRP within a specific time" that causes windows to freeze

Jeff Hazard 6 Reputation points
2021-06-06T13:10:05.567+00:00

I've updated windows to the current 21H1 build, uninstalled my NVIDIA devices and drivers and reinstalled them again as a result of an issue with my nvlddmkm.sys file. This is the first time I've seen this error since. My laptop is hooked up to an MSI USB-C docking station with dual monitors.

Below is the minidump file data from Windbg:

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: ffff8c8b7bbe7600, Physical Device Object of the stack
Arg3: ffffc98e36c7f750, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise the Functional Device Object of the stack
Arg4: ffff8c8b81e8d060, The blocked IRP

Debugging Details:


Implicit thread is now ffff8c8b`792ac400
Unable to load image \SystemRoot\System32\DriverStore\FileRepository\nvmii.inf_amd64_ae100378cf58e795\nvlddmkm.sys, Win32 error 0n2

KEY_VALUES_STRING: 1

Key  : Analysis.CPU.mSec
Value: 3109

Key  : Analysis.DebugAnalysisManager
Value: Create

Key  : Analysis.Elapsed.mSec
Value: 4294

Key  : Analysis.Init.CPU.mSec
Value: 311

Key  : Analysis.Init.Elapsed.mSec
Value: 3209

Key  : Analysis.Memory.CommitPeak.Mb
Value: 91

Key  : WER.OS.Branch
Value: vb_release

Key  : WER.OS.Timestamp
Value: 2019-12-06T14:06:00Z

Key  : WER.OS.Version
Value: 10.0.19041.1

BUGCHECK_CODE: 9f

BUGCHECK_P1: 3

BUGCHECK_P2: ffff8c8b7bbe7600

BUGCHECK_P3: ffffc98e36c7f750

BUGCHECK_P4: ffff8c8b81e8d060

DRVPOWERSTATE_SUBCODE: 3

FAULTING_THREAD: ffff8c8b792ac400

ADDITIONAL_DEBUG_TEXT: DXG Power IRP timeout.

BLACKBOXBSD: 1 (!blackboxbsd)

BLACKBOXNTFS: 1 (!blackboxntfs)

BLACKBOXPNP: 1 (!blackboxpnp)

BLACKBOXWINLOGON: 1

PROCESS_NAME: System

STACK_TEXT:
ffffc98e36c16e80 fffff8025b20c970 : ffffa00100000000 0000000000000000 0000000000000000 ffffc98e36c170d0 : nt!KiSwapContext+0x76
ffffc98e36c16fc0 fffff8025b20be9f : 0000000000000003 0000000000000000 ffffc98e36c17180 0000000000000000 : nt!KiSwapThread+0x500
ffffc98e36c17070 fffff8025b20b743 : fffff80200000000 0000000000000000 0000000000000000 ffff8c8b792ac540 : nt!KiCommitThreadWait+0x14f
ffffc98e36c17110 fffff80278baab14 : ffff8c8b86fc7f60 0000000000000000 ffffa001fcd9c000 0000000000000000 : nt!KeWaitForSingleObject+0x233
ffffc98e36c17200 fffff80278c4d63c : ffff8c8b82044000 ffffc98e36c17309 ffff8c8b82044000 0000000000000001 : nvlddmkm+0xa8ab14
ffffc98e36c17260 fffff80278b628f0 : 0000000000000001 ffff8c8b82044000 ffff8c8b82044000 0000000000000000 : nvlddmkm+0xb2d63c
ffffc98e36c17290 fffff80278b6bdd1 : 0000000000000000 0000000000000001 0000000000000000 ffff8c8b82044000 : nvlddmkm+0xa428f0
ffffc98e36c17370 fffff80278e60e5a : 0000000000000004 0000000000000004 ffff8c8b82022000 0000000000000001 : nvlddmkm+0xa4bdd1
ffffc98e36c173f0 fffff80278e6068b : 0000000000000001 ffff8c8b82022000 0000000000000000 0000000000000000 : nvlddmkm+0xd40e5a
ffffc98e36c174c0 fffff80278e8bb06 : ffff8c8b82022000 ffffc98e36c175b9 0000000000000001 0000000000000007 : nvlddmkm+0xd4068b
ffffc98e36c17510 fffff80274064b6e : fffff80278e8b9dc 0000000000000001 0000000000000000 00000000ffffffff : nvlddmkm+0xd6bb06
ffffc98e36c17620 fffff802740640bf : 0000000000000000 ffffc98e36c176e1 0000000000000000 ffff8c8b82627670 : dxgkrnl!DpiDxgkDdiSetPowerState+0x5a
ffffc98e36c17680 fffff80274064fee : 0000000000000000 ffff8c8b81e8d060 0000000000000001 0000000000000001 : dxgkrnl!DpiFdoSetAdapterPowerState+0x15f
ffffc98e36c17740 fffff80274064441 : ffff8c8b822e7700 ffff8c8b822e7790 ffff8c8b7bbeba90 ffff8c8b81e8d250 : dxgkrnl!DpiFdoHandleDevicePower+0x2ee
ffffc98e36c177e0 fffff80274065991 : ffff8c8b81e8d060 ffff8c8b826cd180 ffff8c8b826cd030 e94bd39e4794807b : dxgkrnl!DpiFdoDispatchPower+0x21
ffffc98e36c17810 fffff80278ea4248 : ffff8c8b86fb2000 ffffc98e36c179d9 ffff8c8b86fb2000 ffff8c8b81e8d250 : dxgkrnl!DpiDispatchPower+0xe1
ffffc98e36c17930 fffff80278ea3350 : ffff8c8b826cd030 ffff8c8b82022000 ffff8c8b826cd030 ffff8c8b00000000 : nvlddmkm+0xd84248
ffffc98e36c17a40 fffff8025b39ce99 : ffff8c8b792ac400 ffffc98e36c17af0 ffff8c8b81e8d060 ffff8c8b00000000 : nvlddmkm+0xd83350
ffffc98e36c17a70 fffff8025b2f53b5 : 0000000000000000 fffff8025b39ccc0 0000000000000000 0000000000000197 : nt!PopIrpWorker+0x1d9
ffffc98e36c17b10 fffff8025b3fe348 : ffffa001f8d00180 ffff8c8b792ac400 fffff8025b2f5360 8948c43348003515 : nt!PspSystemThreadStartup+0x55
ffffc98e36c17b60 0000000000000000 : ffffc98e36c18000 ffffc98e36c11000 0000000000000000 0000000000000000 : nt!KiStartSystemThread+0x28

STACK_COMMAND: .thread 0xffff8c8b792ac400 ; kb

SYMBOL_NAME: nvlddmkm+a8ab14

MODULE_NAME: nvlddmkm

IMAGE_NAME: nvlddmkm.sys

BUCKET_ID_FUNC_OFFSET: a8ab14

FAILURE_BUCKET_ID: 0x9F_3_DXG_POWER_IRP_TIMEOUT_nvlddmkm!unknown_function

OS_VERSION: 10.0.19041.1

BUILDLAB_STR: vb_release

OSPLATFORM_TYPE: x64

OSNAME: Windows 10

FAILURE_ID_HASH: {8cc60268-7d19-e594-85e0-3d3e4d0907af}

Windows for business | Windows Client for IT Pros | Devices and deployment | Other
{count} vote

6 answers

Sort by: Most helpful
  1. AggrivatedWindowsUser 6 Reputation points
    2023-10-03T05:41:35.3966667+00:00

    I've run into a similar situation and using the commands I found here I came up with similar results, one way or another, that indicated the faulting module as nvlddmkm.sys, similar to the OP. My current suggestion, and the one I'm also seeing if it might resolve my issue is as follows.

    Suggested Fix:

    For the OP, open explorer and navigate to the nvlddmkm.sys file, in their case:

    \SystemRoot\System32\DriverStore\FileRepository\nvmii.inf_amd64_ae100378cf58e795\nvlddmkm.sys
    

    In my case, it was:

    C:\Windows\System32\DriverStore\FileRepository\nv_dispsig.inf_amd64_1d7bca28ac3cf032
    

    For everyone else, simply open the \Windows\System32\ directory and do a search for the nvlddmkm.sys file to find it, then:

    • Right-click on the file and go to Properties.
    • Under the Security tab, using either Advanced or Edit, (however you'd like) to change the file permissions for the Group Users (Usually shows as Users (YOURPCNAME\Users) and...
    • Set permissions to Full Control (If currently only set to Read & execute)

    Apply and close to give that a try and see if it helps fix your issues.

    Off-Tangent Background Info

    My system setup is different (Windows 10 Pro), where I ended up on Version 22H2 but updating late from 21H1 midway through 2023 at some point had otherwise resulted in constant BSOD. All search results and memory dump analysis reports seemed to all suggest it was a driver issue or faulty memory. Since the system had been working fine for almost a year before that and the issue only surfaced following a windows update, I was inclined to think that it wasn't a hardware issue (perhaps naively so) and decided to blame the more easily convincing Windows Update which has a notorious reputation for giving me issues (and why I updated to 22H2 so late) as it always forces it's way through any settings I have to prevent it (even Group Policy ones). But, I digress.

    So, when simply updating my drivers didn't work, I did a full removal of the nVidia drivers using DDU v18.0.6.8 in safe mode (not just checking the 'clean installation' option) and made sure that before booting back into normal mode, my settings for auto-update of system drivers was OFF so that I could be sure the new display driver was directly from nVidia. In my case, at that time, it was the Studio ready driver 537.42. I've heard that this helped fix the issue for many people but it didn't work for me. However, the BSOD crashes did occur less often, relatively speaking and for awhile almost made me think the issue was solved.

    Not more than a couple days later, BSOD again. Back to analyzing dumps I arrived at what I mentioned in the first paragraph, using WinDbg and the dbgcmd line options aforementioned.

    Now to see if the file permissions thing might've made a difference and hope it helps anyone else out there.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.