Windows · Windows Server  ·  high  ·  Bugchecks & startup

STOP 0x0000009F — DRIVER_POWER_STATE_FAILURE

A driver did not complete a power transition in time, so the power manager gave up and bugchecked.

What you see

Bluescreens on sleep, hibernate, resume or shutdown — rarely while the machine is being used. Laptops closing the lid, or a machine that will not wake.

What is actually wrong

Network adapters (particularly Wi-Fi and Killer/Intel), USB controllers, and storage drivers are the usual suspects. Fast Startup makes it appear on shutdown as well as sleep.

Codes and articles

0x0000009F0x9FDRIVER_POWER_STATE_FAILURE

Fixes (3)

Stop the devices most likely to be at fault from being powered down
Elevated PowerShell25 minuteslow riskreversible

Sleep or resume. This narrows it quickly without needing a debugger.

  1. List every device Windows is allowed to switch off.

    PowerShell
    Get-CimInstance -ClassName MSPower_DeviceEnable -Namespace root\wmi | Where-Object Enable -eq $true | Select-Object -First 20 InstanceName
  2. Turn off power management on the network adapters first — they cause most of these.

    PowerShell
    Get-NetAdapter | Get-NetAdapterPowerManagement | Format-Table Name, AllowComputerToTurnOffDevice -AutoSizeGet-NetAdapter | ForEach-Object { Set-NetAdapterPowerManagement -Name $_.Name -AllowComputerToTurnOffDevice Disabled -ErrorAction SilentlyContinue }
  3. Disable USB selective suspend in the active power plan.

    Command Prompt
    powercfg /setacvalueindex SCHEME_CURRENT 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 0powercfg /setactive SCHEME_CURRENT
  4. Update the chipset, network and storage drivers from the machine vendor rather than Windows Update.

  5. Test sleep and resume several times.

Confirm it workedThe machine sleeps and wakes repeatedly without a bugcheck.
Command Prompt
powercfg /sleepstudy /output C:\temp\sleepstudy.html
If you need to undo itpowercfg /restoredefaultschemes returns the power settings; re-enable adapter power management with Set-NetAdapterPowerManagement -AllowComputerToTurnOffDevice Enabled.
Turn off Fast Startup
Elevated PowerShell10 minuteslow riskreversible

It happens on shutdown. Fast Startup makes shutdown a hibernate, so a driver that cannot hibernate bugchecks on what looks like a normal shutdown.

  1. Disable hiberboot, which is what Fast Startup actually is.

    Command Prompt
    powercfg /hibernate off

    This also frees a hiberfil.sys the size of your RAM. If you want hibernate kept, disable only Fast Startup in Control Panel → Power Options → Choose what the power buttons do.

  2. Confirm it is off.

    Command Prompt
    powercfg /a
  3. Shut down and start up several times to test.

Confirm it workedShutdowns complete without a bugcheck.
If you need to undo itpowercfg /hibernate on
Name the driver from the dump
WinDbg40 minuteslow riskreversible

No pattern, or the quick fixes did not help. For 0x9F the dump identifies the device stack precisely.

  1. Open C:\Windows\MEMORY.DMP in WinDbg.

  2. Run the automatic analysis.

    Command Prompt
    !analyze -v
  3. Parameter 3 of this bugcheck is the device object that stalled. Inspect it.

    Command Prompt
    !devstack <address-from-parameter-3>

    This prints the whole driver stack for that device, which names the third-party filter driver holding up the transition — the thing !analyze often attributes to ntoskrnl.

  4. Update or remove the driver it names.

Confirm it workedThe transition completes cleanly after the driver change.
If you need to undo itRoll the driver back in Device Manager if the newer one is worse.

Where this stops. This write-up was written and checked by hand. It says what each step changes, how to confirm it worked and how to reverse it, and anything destructive is flagged before you reach it. If it does not match what your machine is doing, search the Support Centre for the exact code or message — and when something needs a person, get in touch.