• Z
    drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists · 9f9c9cbb
    Zhenzhong Duan 提交于
    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: NZhenzhong Duan <zhenzhong.duan@oracle.com>
    Cc: Feng Jin <joe.jin@oracle.com>
    Cc: Jean Delvare <khali@linux-fr.org>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    9f9c9cbb
dmi_scan.c 18.5 KB