intelcpusensor: Update DIMM presence check
Some Intel CPUs will use 0xFF to indicate DIMMs not being present. Add
this check before setting dimmReady. We should be safe checking against
0 and 0xFF since these shouldn't be actual temperatures in the field.
Also remove the check on pkgConfig[2] because bits 23:16 are reserved.
Tested: intelcpusensor doesn't set dimmReady too early in case of
Intel CPUs setting PCS 14 to 0xFFFF
Change-Id: If943736d3798d02dea17139f408572d80eb74e33
Signed-off-by: Matt Simmering <matthew.simmering@intel.com>
diff --git a/src/IntelCPUSensorMain.cpp b/src/IntelCPUSensorMain.cpp
index 0e0083a..ba36e41 100644
--- a/src/IntelCPUSensorMain.cpp
+++ b/src/IntelCPUSensorMain.cpp
@@ -561,8 +561,10 @@
rank, 4, &pkgConfig[0],
&cc) == PECI_CC_SUCCESS)
{
- if ((pkgConfig[0] != 0U) || (pkgConfig[1] != 0U) ||
- (pkgConfig[2] != 0U))
+ // Depending on CPU generation, both 0 and 0xFF can be used
+ // to indicate no DIMM presence
+ if (((pkgConfig[0] != 0xFF) && (pkgConfig[0] != 0U)) ||
+ ((pkgConfig[1] != 0xFF) && (pkgConfig[1] != 0U)))
{
dimmReady = true;
break;