How can I modify the StorPort driver code so that HwFindAdapter routine of the NVMe PCI device is invoked in hibernation?

志胜 覃 0 Reputation points
2023-03-05T00:34:21.5466667+00:00
We are developing NVMe RAID StorPort driver and encounter hibernation issue:

      "If the system is booted from the our RAID disk, and then try to hibernate, the windows only load driver for the dummy PCI device as it is booted from the dummy PCI device,

       but the disk is combined by other NVME PCI devices which are unavailable, the hibernation is failed and system crashed as no disk found."

   

     Problem analysis:

        When loading our RAID driver for the second time at hibernate, HwFindAdapter routine of dummy PCI device is invoked, but HwFindAdapter routine of NVMe PCI device is not invoked.

    

      Our current problem:

         How can we modify the StorPort driver code so that HwFindAdapter routine of the NVMe PCI device is invoked in hibernation.

      Note:

         We try to add power relationship between NVMe PCI device and dummy PCI device, but HwFindAdapter routine of NVMe PCI device is still not invoked.
Windows 10
Windows 10
A Microsoft operating system that runs on personal computers and tablets.
10,535 questions
Windows 11
Windows 11
A Microsoft operating system designed for productivity, creativity, and ease of use.
8,069 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Limitless Technology 43,916 Reputation points
    2023-03-06T16:13:17.0266667+00:00

    Hello there,

    Maybe you can try modifying the registry entries for StorPort Miniport Drivers

    StorPort defines a set of registry entries to configure the behaviour of StorPort and miniport operations. Values are set in the scope of the miniport driver or per instance.

    Registry entries for the miniport are keyed by the \Parameters subkey and the \Parameters\Device subkey of the miniport's services key. For individual adapter entries, the subkey is extended to include the adapter index, such as \Parameters\Device1.

    You can read more about this in the below article

    https://github.com/MicrosoftDocs/windows-driver-docs/blob/staging/windows-driver-docs-pr/storage/registry-entries-for-storport-miniport-drivers.md

    Hope this resolves your Query !!

    --If the reply is helpful, please Upvote and Accept it as an answer–

    0 comments No comments