Blame SOURCES/0004-dmidecode-Use-dmi_cache_size_2-in-dmi_cache_size.patch

e0d5ce
From 941591e24564e4c6d6584dbaa868976f9e80e925 Mon Sep 17 00:00:00 2001
e0d5ce
From: Jean Delvare <jdelvare@suse.de>
e0d5ce
Date: Tue, 15 Jan 2019 12:59:08 +0100
e0d5ce
Subject: [PATCH 4/5] dmidecode: Use dmi_cache_size_2 in dmi_cache_size
e0d5ce
e0d5ce
Redirect dmi_cache_size() to dmi_cache_size_2() so that the cache
e0d5ce
size is always reported using the most appropriate unit, even if the
e0d5ce
BIOS does not populate the 32-bit cache size fields.
e0d5ce
e0d5ce
Signed-off-by: Jean Delvare <jdelvare@suse.de>
e0d5ce
Acked-by: Neil Horman <nhorman@tuxdriver.com>
e0d5ce
Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
e0d5ce
---
e0d5ce
 dmidecode.c | 13 +++++--------
e0d5ce
 1 file changed, 5 insertions(+), 8 deletions(-)
e0d5ce
e0d5ce
diff --git a/dmidecode.c b/dmidecode.c
e0d5ce
index 162e0c50ba26..903ef356ea9e 100644
e0d5ce
--- a/dmidecode.c
e0d5ce
+++ b/dmidecode.c
e0d5ce
@@ -1550,14 +1550,6 @@ static const char *dmi_cache_location(u8 code)
e0d5ce
 	return location[code];
e0d5ce
 }
e0d5ce
 
e0d5ce
-static void dmi_cache_size(u16 code)
e0d5ce
-{
e0d5ce
-	if (code & 0x8000)
e0d5ce
-		printf(" %u kB", (code & 0x7FFF) << 6);
e0d5ce
-	else
e0d5ce
-		printf(" %u kB", code);
e0d5ce
-}
e0d5ce
-
e0d5ce
 static void dmi_cache_size_2(u32 code)
e0d5ce
 {
e0d5ce
 	u64 size;
e0d5ce
@@ -1578,6 +1570,11 @@ static void dmi_cache_size_2(u32 code)
e0d5ce
 	dmi_print_memory_size(size, 1);
e0d5ce
 }
e0d5ce
 
e0d5ce
+static void dmi_cache_size(u16 code)
e0d5ce
+{
e0d5ce
+	dmi_cache_size_2((((u32)code & 0x8000LU) << 16) | (code & 0x7FFFLU));
e0d5ce
+}
e0d5ce
+
e0d5ce
 static void dmi_cache_types(u16 code, const char *sep)
e0d5ce
 {
e0d5ce
 	/* 7.8.2 */
e0d5ce
-- 
e0d5ce
2.17.1
e0d5ce