• Zhenzhong Duan's avatar
    drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists · 9f9c9cbb
    Zhenzhong Duan authored
    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: default avatarZhenzhong Duan <zhenzhong.duan@oracle.com>
    Cc: Feng Jin <joe.jin@oracle.com>
    Cc: Jean Delvare <khali@linux-fr.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    9f9c9cbb
dmi_scan.c 18.5 KB