aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-01-08 15:18:45 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2016-01-08 15:18:45 -0500
commit436950a65d0f0b1a391e3f0dc8e2bcb3e3895f07 (patch)
treed8253c4054b95b349141fa824be6d1010be36c0f
parent4054f64c937b1be46e41cbdfa61954be6f811252 (diff)
parentff4319dc7cd58c92b389960e375038335d157a60 (diff)
Merge branch 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging
Pull dmi fix from Jean Delvare. * 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: firmware: dmi_scan: Fix UUID endianness for SMBIOS >= 2.6
-rw-r--r--drivers/firmware/dmi_scan.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
index ac1ce4a73edf..0e08e665f715 100644
--- a/drivers/firmware/dmi_scan.c
+++ b/drivers/firmware/dmi_scan.c
@@ -521,6 +521,7 @@ static int __init dmi_present(const u8 *buf)
521 dmi_ver = smbios_ver; 521 dmi_ver = smbios_ver;
522 else 522 else
523 dmi_ver = (buf[14] & 0xF0) << 4 | (buf[14] & 0x0F); 523 dmi_ver = (buf[14] & 0xF0) << 4 | (buf[14] & 0x0F);
524 dmi_ver <<= 8;
524 dmi_num = get_unaligned_le16(buf + 12); 525 dmi_num = get_unaligned_le16(buf + 12);
525 dmi_len = get_unaligned_le16(buf + 6); 526 dmi_len = get_unaligned_le16(buf + 6);
526 dmi_base = get_unaligned_le32(buf + 8); 527 dmi_base = get_unaligned_le32(buf + 8);
@@ -528,15 +529,14 @@ static int __init dmi_present(const u8 *buf)
528 if (dmi_walk_early(dmi_decode) == 0) { 529 if (dmi_walk_early(dmi_decode) == 0) {
529 if (smbios_ver) { 530 if (smbios_ver) {
530 pr_info("SMBIOS %d.%d present.\n", 531 pr_info("SMBIOS %d.%d present.\n",
531 dmi_ver >> 8, dmi_ver & 0xFF); 532 dmi_ver >> 16, (dmi_ver >> 8) & 0xFF);
532 } else { 533 } else {
533 smbios_entry_point_size = 15; 534 smbios_entry_point_size = 15;
534 memcpy(smbios_entry_point, buf, 535 memcpy(smbios_entry_point, buf,
535 smbios_entry_point_size); 536 smbios_entry_point_size);
536 pr_info("Legacy DMI %d.%d present.\n", 537 pr_info("Legacy DMI %d.%d present.\n",
537 dmi_ver >> 8, dmi_ver & 0xFF); 538 dmi_ver >> 16, (dmi_ver >> 8) & 0xFF);
538 } 539 }
539 dmi_ver <<= 8;
540 dmi_format_ids(dmi_ids_string, sizeof(dmi_ids_string)); 540 dmi_format_ids(dmi_ids_string, sizeof(dmi_ids_string));
541 printk(KERN_DEBUG "DMI: %s\n", dmi_ids_string); 541 printk(KERN_DEBUG "DMI: %s\n", dmi_ids_string);
542 return 0; 542 return 0;