diff --git a/Nt32Pkg/WinNtBlockIoDxe/DriverDiagnostics.c b/Nt32Pkg/WinNtBlockIoDxe/DriverDiagnostics.c index 1060d46001..fb162aa30d 100644 --- a/Nt32Pkg/WinNtBlockIoDxe/DriverDiagnostics.c +++ b/Nt32Pkg/WinNtBlockIoDxe/DriverDiagnostics.c @@ -184,6 +184,13 @@ WinNtBlockIoDriverDiagnosticsRunDiagnostics ( return EFI_DEVICE_ERROR; } + // + // This is a device driver, so ChildHandle must be NULL. + // + if (ChildHandle != NULL) { + return EFI_UNSUPPORTED; + } + // // Validate controller handle // @@ -207,6 +214,7 @@ WinNtBlockIoDriverDiagnosticsRunDiagnostics ( return EFI_UNSUPPORTED; } + if (Status == EFI_UNSUPPORTED) { return Status; } else if (Status != EFI_ALREADY_STARTED) {