MdeModulePkg: Add alternative queue sizes in NVME driver #6024
+156
−48
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Add a new PCD that toggles between the old driver behavior and new behavior that uses a different hardcoded queue size to support specific devices. Default behavior should not change.
MdeModulePkg/NvmExpressDxe: Improve NVMe controller init robustness
It has been observed that some faulty NVMe devices may return invalid values. The code in NvmExpressDxe recognizes the controller is not responding correctly and issues an ASSERT() often in DEBUG builds or a reset in RELEASE builds.
The following changes are made to NvmeControllerInit() to prevent a faulty NVMe device from halting the overall boot:
produce an error message and return EFI_DEVICE_ERROR
MdeModulePkg/NvmExpressDxe: Correct function parameter modifer
Updates the
Cap
parameter forReadNvmeControllerCapabilities()
to beOUT
since the buffer pointed to is written within the function.Cherry-picked the following commits:
microsoft/mu_basecore@9837db3
microsoft/mu_basecore@0a5a1d9
microsoft/mu_basecore@e397168
How This Was Tested
Tested in Project MU
Integration Instructions
N/A