summaryrefslogtreecommitdiff
path: root/UnixPkg/MiscSubClassPlatformDxe
diff options
context:
space:
mode:
authorlzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524>2011-11-21 08:59:54 +0000
committerlzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524>2011-11-21 08:59:54 +0000
commita762a8778323bb943bfb96302f422f97631a4381 (patch)
tree4a60a3755959aced9e971399aec93351e48fc3c8 /UnixPkg/MiscSubClassPlatformDxe
parentb0a2498d340cdd4a1beb61384fe9bb0c8d88da16 (diff)
downloadedk2-a762a8778323bb943bfb96302f422f97631a4381.zip
edk2-a762a8778323bb943bfb96302f422f97631a4381.tar.gz
edk2-a762a8778323bb943bfb96302f422f97631a4381.tar.bz2
According to PI errata 0000654 and 000811, we need use 0xFFFE to instead of 0 for EFI_SMBIOS_PROTOCOL.Add() SmbiosHandle parameter to assign a unique handle to the SMBIOS record, and for EFI_SMBIOS_PROTOCOL.GetNext() SmbiosHandle parameter to get the first matched SMBIOS handle or indicate no more SMBIOS record.
Signed-off-by: lzeng14 Reviewed-by: li-elvin git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12753 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'UnixPkg/MiscSubClassPlatformDxe')
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunction.c10
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c10
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c11
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunction.c10
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesFunction.c11
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c11
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorFunction.c11
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c11
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h28
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c37
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFunction.c11
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunction.c11
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.c10
-rw-r--r--UnixPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFunction.c11
14 files changed, 85 insertions, 108 deletions
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunction.c b/UnixPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunction.c
index 04f5a1e..0158ae9 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunction.c
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscBaseBoardManufacturerFunction.c
@@ -2,7 +2,7 @@
BaseBoard manufacturer information boot time changes.
SMBIOS type 2.
- Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -154,13 +154,7 @@ MISC_SMBIOS_TABLE_FUNCTION(MiscBaseBoardManufacturer)
//
// Now we have got the full smbios record, call smbios protocol to add this record.
//
- SmbiosHandle = 0;
- Status = Smbios-> Add(
- Smbios,
- NULL,
- &SmbiosHandle,
- (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord
- );
+ Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
FreePool(SmbiosRecord);
return Status;
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c b/UnixPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c
index 6d64ef4..fbfb52f 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscBiosVendorFunction.c
@@ -3,7 +3,7 @@
Misc. subclass type 2.
SMBIOS type 0.
- Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -189,13 +189,7 @@ MISC_SMBIOS_TABLE_FUNCTION(MiscBiosVendor)
//
// Now we have got the full smbios record, call smbios protocol to add this record.
//
- SmbiosHandle = 0;
- Status = Smbios-> Add(
- Smbios,
- NULL,
- &SmbiosHandle,
- (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord
- );
+ Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
FreePool(SmbiosRecord);
return Status;
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c b/UnixPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c
index 65c9792..fec5ecc 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscBootInformationFunction.c
@@ -2,7 +2,7 @@
boot information boot time changes.
SMBIOS type 32.
- Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -61,13 +61,8 @@ MISC_SMBIOS_TABLE_FUNCTION(BootInformationStatus)
//
// Now we have got the full smbios record, call smbios protocol to add this record.
//
- SmbiosHandle = 0;
- Status = Smbios-> Add(
- Smbios,
- NULL,
- &SmbiosHandle,
- (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord
- );
+ Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
+
FreePool(SmbiosRecord);
return Status;
}
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunction.c b/UnixPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunction.c
index fd1262b..ce89603 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunction.c
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscChassisManufacturerFunction.c
@@ -2,7 +2,7 @@
Chassis manufacturer information boot time changes.
SMBIOS type 3.
- Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -124,13 +124,7 @@ MISC_SMBIOS_TABLE_FUNCTION(MiscChassisManufacturer)
//
// Now we have got the full smbios record, call smbios protocol to add this record.
//
- SmbiosHandle = 0;
- Status = Smbios-> Add(
- Smbios,
- NULL,
- &SmbiosHandle,
- (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord
- );
+ Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
FreePool(SmbiosRecord);
return Status;
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesFunction.c b/UnixPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesFunction.c
index 288848d..64addad 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesFunction.c
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscNumberOfInstallableLanguagesFunction.c
@@ -2,7 +2,7 @@
This driver parses the mSmbiosMiscDataTable structure and reports
any generated data.
- Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -226,13 +226,8 @@ MISC_SMBIOS_TABLE_FUNCTION(NumberOfInstallableLanguages)
//
// Now we have got the full smbios record, call smbios protocol to add this record.
//
- SmbiosHandle = 0;
- Status = Smbios-> Add(
- Smbios,
- NULL,
- &SmbiosHandle,
- (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord
- );
+ Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
+
FreePool(SmbiosRecord);
return Status;
}
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c b/UnixPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c
index 94fc71c..f0401ce 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscOemStringFunction.c
@@ -2,7 +2,7 @@
boot information boot time changes.
SMBIOS type 11.
- Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -68,13 +68,8 @@ MISC_SMBIOS_TABLE_FUNCTION(OemString)
//
// Now we have got the full smbios record, call smbios protocol to add this record.
//
- SmbiosHandle = 0;
- Status = Smbios-> Add(
- Smbios,
- NULL,
- &SmbiosHandle,
- (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord
- );
+ Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
+
FreePool(SmbiosRecord);
return Status;
}
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorFunction.c b/UnixPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorFunction.c
index 8f240a4..9f7708b 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorFunction.c
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscPortInternalConnectorDesignatorFunction.c
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -161,13 +161,8 @@ Returns:
//
// Now we have got the full smbios record, call smbios protocol to add this record.
//
- SmbiosHandle = 0;
- Status = Smbios-> Add(
- Smbios,
- NULL,
- &SmbiosHandle,
- (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord
- );
+ Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
+
FreePool(SmbiosRecord);
return Status;
}
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c b/UnixPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c
index 8303c5a..588f9d6 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscResetCapabilitiesFunction.c
@@ -2,7 +2,7 @@
ResetCapabilities.
SMBIOS type 23.
- Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -63,13 +63,8 @@ MISC_SMBIOS_TABLE_FUNCTION(MiscResetCapabilities)
//
// Now we have got the full smbios record, call smbios protocol to add this record.
//
- SmbiosHandle = 0;
- Status = Smbios-> Add(
- Smbios,
- NULL,
- &SmbiosHandle,
- (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord
- );
+ Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
+
FreePool(SmbiosRecord);
return Status;
}
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h b/UnixPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h
index debd08b..b682aeb 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.h
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -105,17 +105,27 @@ extern UINTN mMiscSubclassDataTableEntries;
extern UINT8 MiscSubclassStrings[];
extern EFI_HII_HANDLE mHiiHandle;
-//
-// Prototypes
-//
+/**
+ Add an SMBIOS record.
+
+ @param Smbios The EFI_SMBIOS_PROTOCOL instance.
+ @param SmbiosHandle A unique handle will be assigned to the SMBIOS record.
+ @param Record The data for the fixed portion of the SMBIOS record. The format of the record is
+ determined by EFI_SMBIOS_TABLE_HEADER.Type. The size of the formatted area is defined
+ by EFI_SMBIOS_TABLE_HEADER.Length and either followed by a double-null (0x0000) or
+ a set of null terminated strings and a null.
+
+ @retval EFI_SUCCESS Record was added.
+ @retval EFI_OUT_OF_RESOURCES Record was not added due to lack of system resources.
+
+**/
EFI_STATUS
-EFIAPI
-MiscSubclassDriverEntryPoint (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
+AddSmbiosRecord (
+ IN EFI_SMBIOS_PROTOCOL *Smbios,
+ OUT EFI_SMBIOS_HANDLE *SmbiosHandle,
+ IN EFI_SMBIOS_TABLE_HEADER *Record
);
-
#endif /* _MISC_SUBCLASS_DRIVER_H */
/* eof - MiscSubclassDriver.h */
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c b/UnixPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c
index a2c14e7..41b32fe 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscSubclassDriverEntryPoint.c
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -90,8 +90,8 @@ LogMemorySmbiosRecord (
//
// Generate Memory Array Mapped Address info (TYPE 19)
//
- MemArrayMappedAddrSmbiosHandle = 0;
- Status = Smbios->Add (Smbios, NULL, &MemArrayMappedAddrSmbiosHandle, (EFI_SMBIOS_TABLE_HEADER*) Type19Record);
+ Status = AddSmbiosRecord (Smbios, &MemArrayMappedAddrSmbiosHandle, (EFI_SMBIOS_TABLE_HEADER*) Type19Record);
+
FreePool(Type19Record);
ASSERT_EFI_ERROR (Status);
@@ -168,3 +168,34 @@ Returns:
EfiStatus = LogMemorySmbiosRecord();
return EfiStatus;
}
+
+/**
+ Add an SMBIOS record.
+
+ @param Smbios The EFI_SMBIOS_PROTOCOL instance.
+ @param SmbiosHandle A unique handle will be assigned to the SMBIOS record.
+ @param Record The data for the fixed portion of the SMBIOS record. The format of the record is
+ determined by EFI_SMBIOS_TABLE_HEADER.Type. The size of the formatted area is defined
+ by EFI_SMBIOS_TABLE_HEADER.Length and either followed by a double-null (0x0000) or
+ a set of null terminated strings and a null.
+
+ @retval EFI_SUCCESS Record was added.
+ @retval EFI_OUT_OF_RESOURCES Record was not added due to lack of system resources.
+
+**/
+EFI_STATUS
+AddSmbiosRecord (
+ IN EFI_SMBIOS_PROTOCOL *Smbios,
+ OUT EFI_SMBIOS_HANDLE *SmbiosHandle,
+ IN EFI_SMBIOS_TABLE_HEADER *Record
+ )
+{
+ *SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;
+ return Smbios->Add (
+ Smbios,
+ NULL,
+ SmbiosHandle,
+ Record
+ );
+}
+
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFunction.c b/UnixPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFunction.c
index 3e10c63..86d63b4 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFunction.c
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscSystemLanguageStringFunction.c
@@ -2,7 +2,7 @@
ResetCapabilities.
SMBIOS type 23.
- Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -72,13 +72,8 @@ MISC_SMBIOS_TABLE_FUNCTION(SystemLanguageString)
//
// Now we have got the full smbios record, call smbios protocol to add this record.
//
- SmbiosHandle = 0;
- Status = Smbios-> Add(
- Smbios,
- NULL,
- &SmbiosHandle,
- (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord
- );
+ Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
+
FreePool(SmbiosRecord);
return Status;
}
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunction.c b/UnixPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunction.c
index 1483ace..3582447 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunction.c
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscSystemManufacturerFunction.c
@@ -1,6 +1,6 @@
/*++
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -126,13 +126,8 @@ MISC_SMBIOS_TABLE_FUNCTION(MiscSystemManufacturer)
//
// Now we have got the full smbios record, call smbios protocol to add this record.
//
- SmbiosHandle = 0;
- Status = Smbios-> Add(
- Smbios,
- NULL,
- &SmbiosHandle,
- (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord
- );
+ Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
+
FreePool(SmbiosRecord);
return Status;
}
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.c b/UnixPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.c
index a910634..145603a 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.c
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscSystemOptionStringFunction.c
@@ -2,7 +2,7 @@
BIOS system option string boot time changes.
SMBIOS type 12.
- Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -70,13 +70,7 @@ MISC_SMBIOS_TABLE_FUNCTION(SystemOptionString)
//
// Now we have got the full smbios record, call smbios protocol to add this record.
//
- SmbiosHandle = 0;
- Status = Smbios-> Add(
- Smbios,
- NULL,
- &SmbiosHandle,
- (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord
- );
+ Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
FreePool(SmbiosRecord);
return Status;
diff --git a/UnixPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFunction.c b/UnixPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFunction.c
index 72c4137..2bf8844 100644
--- a/UnixPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFunction.c
+++ b/UnixPkg/MiscSubClassPlatformDxe/MiscSystemSlotDesignationFunction.c
@@ -2,7 +2,7 @@
BIOS system slot designator information boot time changes.
SMBIOS type 9.
- Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2011, 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
which accompanies this distribution. The full text of the license may be found at
@@ -85,13 +85,8 @@ MISC_SMBIOS_TABLE_FUNCTION(MiscSystemSlotDesignation)
//
// Now we have got the full smbios record, call smbios protocol to add this record.
//
- SmbiosHandle = 0;
- Status = Smbios-> Add(
- Smbios,
- NULL,
- &SmbiosHandle,
- (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord
- );
+ Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);
+
FreePool(SmbiosRecord);
return Status;
}