From c7493fe5f3fe3f12a4ab45cb66cba2e7d6e087b9 Mon Sep 17 00:00:00 2001 From: qwang12 Date: Tue, 15 Jul 2008 09:34:35 +0000 Subject: [Description]: Sync 1 trackers. EDK 1098 [Impaction]: Should be minimal impact as there is no code parsing the HII vendor specific device. [Reference Info]: EDK 1098 Seems there are two same device path protocols in NT git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5476 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'MdeModulePkg/Library') diff --git a/MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.c b/MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.c index bfaf49e4b1..58908c5be9 100644 --- a/MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.c +++ b/MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.c @@ -40,6 +40,7 @@ HII_VENDOR_DEVICE_PATH mHiiVendorDevicePathTemplate = { }, EFI_IFR_TIANO_GUID }, + 0, 0 }, { @@ -74,22 +75,23 @@ HiiLibCreateHiiDriverHandle ( { EFI_STATUS Status; HII_VENDOR_DEVICE_PATH_NODE *VendorDevicePath; - UINT64 MonotonicCount; VendorDevicePath = AllocateCopyPool (sizeof (HII_VENDOR_DEVICE_PATH), &mHiiVendorDevicePathTemplate); if (VendorDevicePath == NULL) { return EFI_OUT_OF_RESOURCES; } - gBS->GetNextMonotonicCount (&MonotonicCount); - VendorDevicePath->MonotonicCount = (UINT32) MonotonicCount; + // + // Use memory address as unique ID to distinguish from different device paths + // + VendorDevicePath->UniqueId = (UINT64) ((UINTN) VendorDevicePath); *DriverHandle = NULL; - Status = gBS->InstallProtocolInterface ( + Status = gBS->InstallMultipleProtocolInterfaces ( DriverHandle, &gEfiDevicePathProtocolGuid, - EFI_NATIVE_INTERFACE, - VendorDevicePath + VendorDevicePath, + NULL ); if (EFI_ERROR (Status)) { return Status; -- cgit v1.2.3