summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0014-Treat-zero-temperatures-readings-as-errors-in-IpmbSe.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0014-Treat-zero-temperatures-readings-as-errors-in-IpmbSe.patch')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0014-Treat-zero-temperatures-readings-as-errors-in-IpmbSe.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0014-Treat-zero-temperatures-readings-as-errors-in-IpmbSe.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0014-Treat-zero-temperatures-readings-as-errors-in-IpmbSe.patch
new file mode 100644
index 000000000..25b6d5cab
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors/0014-Treat-zero-temperatures-readings-as-errors-in-IpmbSe.patch
@@ -0,0 +1,49 @@
+From 3659064b5ef97e78f054823657670d226bb0420e Mon Sep 17 00:00:00 2001
+From: Arun Lal K M <arun.lal@intel.com>
+Date: Thu, 10 Feb 2022 17:21:30 +0000
+Subject: [PATCH] Treat zero temperatures readings as errors in IpmbSensors
+
+During normal operations, IpmbSensors temperature sensors are not
+expected to read zero value. There might be some other root cause
+need to be identified and addressed. Treat zeros readings as errors
+in temperatures as a workaround.
+
+Tested:
+Valid temperature reading is being reported in IpmbSensors.
+By giving ipmitool sensors list command.
+
+CPU1 North VR Te | 36.000
+CPU1 PVCCD VR Te | 39.000
+CPU1 PVCCFA EHV | 37.000
+CPU1 South VR Te | 37.000
+CPU1 VCCIN VR Te | 51.000
+CPU2 North VR Te | 40.000
+CPU2 PVCCD VR Te | 43.000
+CPU2 PVCCFA EHV | 38.000
+CPU2 South VR Te | 36.000
+CPU2 VCCIN VR Te | 50.000
+
+Signed-off-by: Arun Lal K M <arun.lal@intel.com>
+---
+ src/IpmbSensor.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/IpmbSensor.cpp b/src/IpmbSensor.cpp
+index 75f74b5..e7d1ded 100644
+--- a/src/IpmbSensor.cpp
++++ b/src/IpmbSensor.cpp
+@@ -458,7 +458,10 @@ void IpmbSensor::read(void)
+
+ double value = 0;
+
+- if (!processReading(data, value))
++ // Temperature sensors are not expected to read 0
++ // treat them as errors
++ if (!processReading(data, value) ||
++ (subType == IpmbSubType::temp && value == 0.0))
+ {
+ incrementError();
+ read();
+--
+2.17.1
+