summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Schiffer <pschiffe@redhat.com>2013-07-29 16:56:02 +0200
committerPeter Schiffer <pschiffe@redhat.com>2013-07-29 16:56:02 +0200
commitcf9881ddc3d3ade438559b2645dc8c1858c524a4 (patch)
treef5d083f23c1c04e44a6afe05a7d7db03b06c1d38
parentb6b222b8bd578a0e81a1aadfed35be17c03ae142 (diff)
downloadopenlmi-providers-cf9881ddc3d3ade438559b2645dc8c1858c524a4.tar.gz
openlmi-providers-cf9881ddc3d3ade438559b2645dc8c1858c524a4.tar.xz
openlmi-providers-cf9881ddc3d3ade438559b2645dc8c1858c524a4.zip
Hardware: Fixed enumerating memory modules
Enumerating memory modules didn't work properly when no empty slots were present in the system.
-rw-r--r--src/hardware/dmidecode.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/hardware/dmidecode.c b/src/hardware/dmidecode.c
index a4c1050..d246f8e 100644
--- a/src/hardware/dmidecode.c
+++ b/src/hardware/dmidecode.c
@@ -891,11 +891,10 @@ short dmi_get_memory(DmiMemory *memory)
}
if (strstr(buffer[i], "Size: ")) {
if (strstr(buffer[i], "Size: No Module Installed")) {
- last_mem = curr_mem;
curr_mem = -1;
continue;
} else {
- curr_mem = last_mem + 1;
+ curr_mem = ++last_mem;
init_dmi_memory_module_struct(&memory->modules[curr_mem]);
/* Module Size */
buf = copy_string_part_after_delim(buffer[i], "Size: ");
@@ -926,6 +925,9 @@ short dmi_get_memory(DmiMemory *memory)
total_width = 0;
data_width = 0;
+ debug("Found %s at index %d",
+ memory->modules[curr_mem].name, curr_mem);
+
continue;
}
}