Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MdeModulePkg/NvmExpressDxe: Add robustness changes with rebase [Rebase & FF] #523

Merged

Commits on Aug 14, 2023

  1. Revert "MdeModulePkg/NvmExpressDxe: Improve robustness [Rebase & FF] (m…

    …icrosoft#516)"
    
    Reverts the change so it can be added as individual commits. The
    content will remain the same in the commits but the changes will
    be split so they're individually identifiable in the future.
    
    Signed-off-by: Michael Kubacki <[email protected]>
    makubacki committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    b8a3366 View commit details
    Browse the repository at this point in the history
  2. 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:
    
    1. Check the Vendor ID and Device ID to verify they are read properly
       and if not, return EFI_DEVICE_ERROR
    2. Replace the ASSERT() when Memory Page Size Minimum (Cap.Mpsmin)
       with an error message and return EFI_DEVICE_ERROR
    
    Signed-off-by: Michael Kubacki <[email protected]>
    makubacki committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    e2c7b25 View commit details
    Browse the repository at this point in the history
  3. MdeModulePkg/NvmExpressDxe: Correct function parameter modifer

    Updates the `Cap` parameter for `ReadNvmeControllerCapabilities()`
    to be `OUT` since the buffer pointed to is written within the
    function.
    
    Signed-off-by: Michael Kubacki <[email protected]>
    makubacki committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    67b7fd3 View commit details
    Browse the repository at this point in the history
  4. MdePkg/Nvme.h: Add missing NVMe capability descriptions

    Adds missing structure member documentation.
    
    Signed-off-by: Michael Kubacki <[email protected]>
    makubacki committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    0ad375f View commit details
    Browse the repository at this point in the history