sysfs IO enhancements
Add retries for some sysfs IO errors:
EIO: Tolerate intermittant device or bus failures.
ETIMEDOUT: Tolerate intermittant timeouts.
EAGAIN: Tolerate drivers that do not block.
ENXIO: Tolerate momentarily unplugged devices on busses that don't
support hotplug.
EBADMSG: Tolerate CRC errors.
Flush stdio buffers after writes.
Remove redundant retry and delay constants.
Resolves: openbmc/openbmc#2262
Change-Id: I2104139bf7ced96bb10f7450b42ca36e61c84287
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/test/hwmonio.cpp b/test/hwmonio.cpp
index 2c6bdaf..00c4ae1 100644
--- a/test/hwmonio.cpp
+++ b/test/hwmonio.cpp
@@ -32,11 +32,16 @@
if ("read"s == argv[1])
{
- std::cout << io.read(argv[3], argv[4], argv[5]) << std::endl;
+ std::cout << io.read(argv[3], argv[4], argv[5],
+ sysfs::hwmonio::retries, sysfs::hwmonio::delay) <<
+ std::endl;
}
else
{
- io.write(strtol(argv[6], nullptr, 0), argv[3], argv[4], argv[5]);
+ io.write(
+ strtol(argv[6], nullptr, 0),
+ argv[3], argv[4], argv[5], sysfs::hwmonio::retries,
+ sysfs::hwmonio::delay);
}
return 0;