diff options
Diffstat (limited to 'source/ap/dmidecode/patches/0005-Fix-No-SMBIOS-nor-DMI-entry-point-found-on-SMBIOS3.patch')
-rw-r--r-- | source/ap/dmidecode/patches/0005-Fix-No-SMBIOS-nor-DMI-entry-point-found-on-SMBIOS3.patch | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/source/ap/dmidecode/patches/0005-Fix-No-SMBIOS-nor-DMI-entry-point-found-on-SMBIOS3.patch b/source/ap/dmidecode/patches/0005-Fix-No-SMBIOS-nor-DMI-entry-point-found-on-SMBIOS3.patch new file mode 100644 index 00000000..a0eb3789 --- /dev/null +++ b/source/ap/dmidecode/patches/0005-Fix-No-SMBIOS-nor-DMI-entry-point-found-on-SMBIOS3.patch @@ -0,0 +1,63 @@ +From bf7bad24ce141dab5b5acc3ffb98ce5fe4a8e0f9 Mon Sep 17 00:00:00 2001 +From: Xie XiuQi <xiexiuqi@huawei.com> +Date: Wed, 21 Oct 2015 15:12:50 +0200 +Subject: [PATCH 5/9] Fix 'No SMBIOS nor DMI entry point found' on SMBIOS3 + +address_from_efi may return a SMBIOS or SMBIOS3 format entry +point, so add this condition. +--- + AUTHORS | 1 + + CHANGELOG | 4 ++++ + dmidecode.c | 12 ++++++++++-- + 3 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/AUTHORS b/AUTHORS +index d4badfa..ccf7fbb 100644 +--- a/AUTHORS ++++ b/AUTHORS +@@ -19,6 +19,7 @@ Jarod Wilson <jarod@redhat.com> + Anton Arapov <anton@redhat.com> + Roy Franz <roy.franz@linaro.org> + Tyler Bell <tyler.bell@hp.com> ++Xie XiuQi <xiexiuqi@huawei.com> + + MANY THANKS TO (IN CHRONOLOGICAL ORDER) + Werner Heuser +diff --git a/CHANGELOG b/CHANGELOG +index 2aa1082..be2092a 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -1,3 +1,7 @@ ++2015-10-21 Xie XiuQi <xiexiuqi@huawei.com> ++ ++ * dmidecode.c: Handle SMBIOS 3.0 entry points on EFI systems. ++ + 2015-10-20 Jean Delvare <jdelvare@suse.de> + + * dmidecode.c: Handle OEM-specific types in group associations +diff --git a/dmidecode.c b/dmidecode.c +index ce0511b..cfcade4 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -4866,8 +4866,16 @@ int main(int argc, char * const argv[]) + goto exit_free; + } + +- if (smbios_decode(buf, opt.devmem, 0)) +- found++; ++ if (memcmp(buf, "_SM3_", 5) == 0) ++ { ++ if (smbios3_decode(buf, opt.devmem, 0)) ++ found++; ++ } ++ else if (memcmp(buf, "_SM_", 4) == 0) ++ { ++ if (smbios_decode(buf, opt.devmem, 0)) ++ found++; ++ } + goto done; + + memory_scan: +-- +2.6.4 + |