[SOLVED] BSOD DRIVER_POWER STATE FAILURE

Mar 14, 2022
3
0
10
Getting a driver power state failure every 10 to 15 minutes causing me to get a blue screen of death. After attempting to analyze the problem using WINDBG I am pretty sure it is due to my pci.sys driver but I m not sure how to go about fixing it.

Below is my bug check analysis from WINDBG. Please let me know of any solutions as my PC is unusable right now.

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

Debugging Details:
------------------


KEY_VALUES_STRING: 1

Key : Analysis.CPU.mSec
Value: 1358

Key : Analysis.DebugAnalysisManager
Value: Create

Key : Analysis.Elapsed.mSec
Value: 1437

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

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

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

Key : WER.OS.Branch
Value: co_release

Key : WER.OS.Timestamp
Value: 2021-06-04T16:28:00Z

Key : WER.OS.Version
Value: 10.0.22000.1


FILE_IN_CAB: MEMORY.DMP

DUMP_FILE_ATTRIBUTES: 0x1000

BUGCHECK_CODE: 9f

BUGCHECK_P1: 3

BUGCHECK_P2: ffffe208a876e360

BUGCHECK_P3: fffff98b6fa6f710

BUGCHECK_P4: ffffe208a8822a20

DRVPOWERSTATE_SUBCODE: 3

IMAGE_NAME: pci.sys

MODULE_NAME: pci

FAULTING_MODULE: fffff80125670000 pci

BLACKBOXACPI: 1 (!blackboxacpi)


BLACKBOXBSD: 1 (!blackboxbsd)


BLACKBOXNTFS: 1 (!blackboxntfs)


BLACKBOXPNP: 1 (!blackboxpnp)


BLACKBOXWINLOGON: 1

PROCESS_NAME: System

STACK_TEXT:
fffff98b6fa6f6d8 fffff80121dc2ae7 : 000000000000009f 0000000000000003 ffffe208a876e360 fffff98b6fa6f710 : nt!KeBugCheckEx
fffff98b6fa6f6e0 fffff80121dc2a01 : ffffe208a8843208 0000000000000080 fffff98b6fa6fa38 fffff98b6fa6fa30 : nt!PopIrpWatchdogBugcheck+0xdf
fffff98b6fa6f750 fffff80121af4e54 : 0000000000000000 ffff900100000001 fffff98b00000000 0000000000000002 : nt!PopIrpWatchdog+0x31
fffff98b6fa6f7a0 fffff80121af3444 : 0000000000000008 fffff98b6fa6f9d0 ffff90010149f180 fffff8011f34f928 : nt!KiProcessExpiredTimerList+0x204
fffff98b6fa6f8d0 fffff80121c1a40e : 0000000000000000 ffff90010149f180 ffff9001014ab540 ffffe208caae5080 : nt!KiRetireDpcList+0x714
fffff98b6fa6fb80 0000000000000000 : fffff98b6fa70000 fffff98b6fa69000 0000000000000000 0000000000000000 : nt!KiIdleLoop+0x9e


IMAGE_VERSION: 10.0.22000.469

STACK_COMMAND: .cxr; .ecxr ; kb

FAILURE_BUCKET_ID: 0x9F_3_ACPI_IMAGE_pci.sys

OS_VERSION: 10.0.22000.1

BUILDLAB_STR: co_release

OSPLATFORM_TYPE: x64

OSNAME: Windows 10

FAILURE_ID_HASH: {20ddeb92-07eb-ebdc-bd08-44da71ffbd68}

Followup: MachineOwner
---------

5: kd> !irp ffffe208a8822a20
Irp is active with 6 stacks 4 is current (= 0xffffe208a8822bc8)
No Mdl: No System Buffer: Thread 00000000: Irp stack trace.
cmd flg cl Device File Completion-Context
[N/A(0), N/A(0)]
0 0 00000000 00000000 00000000-00000000

Args: 00000000 00000000 00000000 00000000
[N/A(0), N/A(0)]
0 0 00000000 00000000 00000000-00000000

Args: 00000000 00000000 00000000 00000000
[IRP_MJ_POWER(16), IRP_MN_WAIT_WAKE(0)]
0 0 ffffe208a876e360 00000000 fffff801255ae3f0-fffff801255ae7d0
\Driver\pci ACPI!ACPIDeviceIrpDeviceFilterRequest
Args: 00000000 00000000 00000000 00000000
[IRP_MJ_POWER(16), IRP_MN_SET_POWER(2)]
0 e1 ffffe208a876ed50 00000000 fffff80125af1b60-00000000 Success Error Cancel pending
\Driver\ACPI storport!RaidAdapterPowerDownDeviceCompletion
Args: 00000000 00000001 00000004 00000000
[IRP_MJ_POWER(16), IRP_MN_SET_POWER(2)]
0 e1 ffffe208a877a050 00000000 fffff80121b9fd50-ffffe208a8843208 Success Error Cancel pending
\Driver\storahci nt!PopRequestCompletion
Args: 00000000 00000001 00000004 00000000
[N/A(0), N/A(0)]
0 0 00000000 00000000 00000000-ffffe208a8843208

Args: 00000000 00000000 00000000 00000000
5: kd> lmvm pci
Browse full module list
start end module name
fffff80125670000 fffff801256f2000 pci # (pdb symbols) C:\ProgramData\Dbg\sym\pci.pdb\3759AFE8F2691E25435438DFF4639B421\pci.pdb
Loaded symbol image file: pci.sys
Mapped memory image file: C:\ProgramData\Dbg\sym\pci.sys\0019577482000\pci.sys
Image path: \SystemRoot\System32\drivers\pci.sys
Image name: pci.sys
Browse all global symbols functions data
Image was built with /Brepro flag.
Timestamp: 00195774 (This is a reproducible build file hash, not a timestamp)
CheckSum: 0008C556
ImageSize: 00082000
File version: 10.0.22000.469
Product version: 10.0.22000.469
File flags: 0 (Mask 3F)
File OS: 40004 NT Win32
File type: 2.0 Dll
File date: 00000000.00000000
Translations: 0409.04b0
Information from resource tables:
CompanyName: Microsoft Corporation
ProductName: Microsoft® Windows® Operating System
InternalName: pci.sys
OriginalFilename: pci.sys
ProductVersion: 10.0.22000.469
FileVersion: 10.0.22000.469 (WinBuild.160101.0800)
FileDescription: NT Plug and Play PCI Enumerator
LegalCopyright: © Microsoft Corporation. All rights reserved.
 
Solution
Thanks for your help. I've stopped getting the BSOD now at least over the past 30 minutes as before it was coming every 5 minutes. Do you have any clue on how to solve the specific PCI problem?
did you upgrade from window 7? windows 7 had all of the power features turned off by default. power features were turned on in windows 8 and above by default. It is one of the reasons windows 8 was hated so much.

anyway, the default answer is to update the bios and the motherboard drivers from the motherboard vendor, Then update any firmware for drives and any usb device. if the hardware is relatively current then it is most likely to work. if you have old devices that came out 10 years ago then you just have to disable the...
I would go into windows control panel, hardware, device manager, find the storage device and right click it, find the power management tab and tell windows not to power down the device to save power. do this to prevent the bugcheck, then look or bios, chipset and firmware updates relating to the storage device.
the bugcheck showing PCI just means it is something attached to the PCI bus. bugcheck will be in pci.sys or in the actual driver making the call.
 
Mar 14, 2022
3
0
10
I would go into windows control panel, hardware, device manager, find the storage device and right click it, find the power management tab and tell windows not to power down the device to save power. do this to prevent the bugcheck, then look or bios, chipset and firmware updates relating to the storage device.
the bugcheck showing PCI just means it is something attached to the PCI bus. bugcheck will be in pci.sys or in the actual driver making the call.
Thanks for the reply. My disk drive in device manager doesn't seem to have the Power management tab. Is there any other way to prevent this bugcheck?
 
Thanks for the reply. My disk drive in device manager doesn't seem to have the Power management tab. Is there any other way to prevent this bugcheck?
you can tell your computer to run in high performance mode.
you should also check your power cable to the drive to make sure it has a good connection. it looked like your drive was powered down so it could not respond.

also check power management settings for the drive controller, maybe it has its own settings

high performance power plan:
https://help.ableton.com/hc/en-us/a...,Then choose the High Performance plan: More
 
Mar 14, 2022
3
0
10
you can tell your computer to run in high performance mode.
you should also check your power cable to the drive to make sure it has a good connection. it looked like your drive was powered down so it could not respond.

also check power management settings for the drive controller, maybe it has its own settings

high performance power plan:
https://help.ableton.com/hc/en-us/articles/115000211304-Using-the-High-performance-power-plan-Windows-#:~:text= How to enable the High performance power,Then choose the High Performance plan: More
Thanks for your help. I've stopped getting the BSOD now at least over the past 30 minutes as before it was coming every 5 minutes. Do you have any clue on how to solve the specific PCI problem?
 
Thanks for your help. I've stopped getting the BSOD now at least over the past 30 minutes as before it was coming every 5 minutes. Do you have any clue on how to solve the specific PCI problem?
did you upgrade from window 7? windows 7 had all of the power features turned off by default. power features were turned on in windows 8 and above by default. It is one of the reasons windows 8 was hated so much.

anyway, the default answer is to update the bios and the motherboard drivers from the motherboard vendor, Then update any firmware for drives and any usb device. if the hardware is relatively current then it is most likely to work. if you have old devices that came out 10 years ago then you just have to disable the sleep functions. Unfortunately you can still buy new devices today that were designed and came out 10 years ago. They are just really cheap and come with a new shell with the old electronics.

the sleep circuits are in the physical device, then that has to talk to the motherboard hardware, then the bios and windows. it can be broken anywhere.

also, just in case go into bios and make any change and change it back. This forces the bios to rescan your hardware and rebuild the database of settings it sends to windows plug and play. This database can get really messed up sometimes and effect force windows to use really strange internal settings.
(updating the bios also fixes this type of problem so it is the default answer)
(another reason is the bios should match the driver versions from your motherboard vendors website)
 
Solution
did you upgrade from window 7? windows 7 had all of the power features turned off by default. power features were turned on in windows 8 and above by default. It is one of the reasons windows 8 was hated so much.

anyway, the default answer is to update the bios and the motherboard drivers from the motherboard vendor, Then update any firmware for drives and any usb device. if the hardware is relatively current then it is most likely to work. if you have old devices that came out 10 years ago then you just have to disable the sleep functions. Unfortunately you can still buy new devices today that were designed and came out 10 years ago. They are just really cheap and come with a new shell with the old electronics.

the sleep circuits are in the physical device, then that has to talk to the motherboard hardware, then the bios and windows. it can be broken anywhere.

also, just in case go into bios and make any change and change it back. This forces the bios to rescan your hardware and rebuild the database of settings it sends to windows plug and play. This database can get really messed up sometimes and effect force windows to use really strange internal settings.
(updating the bios also fixes this type of problem so it is the default answer)
(another reason is the bios should match the driver versions from your motherboard vendors website)
you can also try to fine tune the windows power setting to only keep the storage driver from sleeping.
you might also run cmd.exe as a admin then run the tool
powercfg.exe /energy
this will make a report that you can look at to see what windows thinks is not working with sleep mode in your machine. Best to do the bios upgrade first since it is often the only real fix you have for the problem anyway.
 
you can also try to fine tune the windows power setting to only keep the storage driver from sleeping.
you might also run cmd.exe as a admin then run the tool
powercfg.exe /energy
this will make a report that you can look at to see what windows thinks is not working with sleep mode in your machine. Best to do the bios upgrade first since it is often the only real fix you have for the problem anyway.
also in your case since it was a raid port, certain motherboard have special meanings for certain ports, you may find that putting your drive on a different port might work without any other changes. IE if you use port 5, or 6 then try port 0 or 1. (some motherboards have the higher numbered ports with special functions others use the lower port numbers)