MdeModulePkg/FvSimpleFs: don't open DevicePath with BY_DRIVER mode

The device path protocol doesn't get closed at FvSimpleFilesystem
driver stop() when it's opened at start() with BY_DRIVER mode.

We change it to open DevicePath with GET_PROTOCOL mode as FV2 protocol with BY_DRIVER is enough.

Cc: Chao Zhang <chao.b.zhang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
This commit is contained in:
Feng Tian 2016-03-02 09:45:06 +08:00
parent 913ba15120
commit b07c966581
1 changed files with 5 additions and 6 deletions

View File

@ -12,7 +12,7 @@
from the UEFI shell. It is entirely read-only.
Copyright (c) 2014, ARM Limited. All rights reserved.
Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@ -452,9 +452,7 @@ FvSimpleFileSystemDriverStart (
// Create an instance
//
Instance = AllocateZeroPool (sizeof (FV_FILESYSTEM_INSTANCE));
if (Instance == NULL) {
return EFI_OUT_OF_RESOURCES;
}
ASSERT (Instance != NULL);
Instance->Root = NULL;
Instance->FvProtocol = FvProtocol;
@ -469,6 +467,7 @@ FvSimpleFileSystemDriverStart (
EFI_NATIVE_INTERFACE,
&Instance->SimpleFs
);
ASSERT_EFI_ERROR (Status);
//
// Decide on a filesystem volume label, which will include the FV's guid.
@ -481,7 +480,7 @@ FvSimpleFileSystemDriverStart (
(VOID **) &FvDevicePath,
gImageHandle,
ControllerHandle,
EFI_OPEN_PROTOCOL_BY_DRIVER
EFI_OPEN_PROTOCOL_GET_PROTOCOL
);
if (!EFI_ERROR (Status)) {
//
@ -528,7 +527,7 @@ FvSimpleFileSystemDriverStart (
);
}
return Status;
return EFI_SUCCESS;
}
/**