linux-uconsole/drivers/firmware
Zhenzhong Duan a6aa749906 drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists
commit 9f9c9cbb60 upstream.

The right dmi version is in SMBIOS if it's zero in DMI region

This issue was originally found from an oracle bug.
One customer noticed system UUID doesn't match between dmidecode & uek2.

 - HP ProLiant BL460c G6 :
   # cat /sys/devices/virtual/dmi/id/product_uuid
   00000000-0000-4C48-3031-4D5030333531
   # dmidecode | grep -i uuid
   UUID: 00000000-0000-484C-3031-4D5030333531

From SMBIOS 2.6 on, spec use little-endian encoding for UUID other than
network byte order.

So we need to get dmi version to distinguish.  If version is 0.0, the
real version is taken from the SMBIOS version.  This is part of original
kernel comment in code.

[akpm@linux-foundation.org: checkpatch fixes]
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@oracle.com>
Cc: Feng Jin <joe.jin@oracle.com>
Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Abdallah Chatila <abdallah.chatila@ericsson.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-27 20:46:29 -08:00
..
google firmware: fix GOOGLE_SMI kconfig dependency warning 2011-06-07 10:01:16 -07:00
dcdbas.c dcdbas: force SMI to happen when expected 2011-03-02 13:42:10 +01:00
dcdbas.h dcdbas: export functionality for use in other drivers 2009-01-08 08:31:12 -08:00
dell_rbu.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
dmi-id.c dmi-id: fix a memory leak in dmi_id_init error path 2010-08-05 13:53:34 -07:00
dmi-sysfs.c firmware: Fix unaligned memory accesses in dmi-sysfs 2011-02-25 16:10:03 -08:00
dmi_scan.c drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists 2013-01-27 20:46:29 -08:00
edd.c x86, setup: Fix EDD3.0 data verification. 2011-04-27 14:16:12 -07:00
efivars.c firmware: Add missing attributes to EFI variable attribute print out from sysfs 2012-10-07 08:27:25 -07:00
iscsi_ibft.c ibft: Fix finding IBFT ACPI table on UEFI 2011-12-21 12:57:45 -08:00
iscsi_ibft_find.c ibft: Fix finding IBFT ACPI table on UEFI 2011-12-21 12:57:45 -08:00
Kconfig driver: Google EFI SMI 2011-04-29 18:09:34 -07:00
Makefile Introduce CONFIG_GOOGLE_FIRMWARE 2011-04-29 18:09:35 -07:00
memmap.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pcdp.c pcdp: use early_ioremap/early_iounmap to access pcdp table 2012-08-15 12:04:10 -07:00
pcdp.h Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
sigma.c firmware: Sigma: Fix endianess issues 2011-12-09 08:52:39 -08:00