blob: 67268b3ead7dacbd0ab663335a6271700e240e9a [file] [log] [blame]
From 26989b5e7c85ac1d5715a5ef2667335061920e96 Mon Sep 17 00:00:00 2001
From: Lei YU <mine260309@gmail.com>
Date: Thu, 23 Nov 2017 16:14:51 +0800
Subject: [PATCH] sysfs: Return -ETIMEDOUT instead of throw exception
Aspeed fan tach gives ETIMEDOUT error when host is powered off, it
causes phosphor-hwmon exit with read failure exception.
Make it return -ETIMEDOUT so that it gives negative value for fan speed
as workaround.
Signed-off-by: Lei YU <mine260309@gmail.com>
---
sysfs.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/sysfs.cpp b/sysfs.cpp
index 369d2e7..f390de6 100644
--- a/sysfs.cpp
+++ b/sysfs.cpp
@@ -308,6 +308,12 @@ uint32_t HwmonIO::read(
throw std::system_error(rc, std::generic_category());
}
+ if (rc == ETIMEDOUT)
+ {
+ // Workaround for AST fan tach driver
+ // that returns -ETIMEDOUT when fan is not runnings
+ return -rc;
+ }
--retries;
std::this_thread::sleep_for(delay);
continue;
--
1.9.1