Add EMSGSIZE to the list of retryable errors

Some devices return -EMSGSIZE if the hardware is being powered off in a
normal manner, as incomplete data is received. Retrying allows time for
the system to clean up driver devices, or in the event of a real
failure, attempt to get the rest of the data.

Resolves openbmc/openbmc#3226

Change-Id: Ib507acf4cbd4094e4369e15b8519058c57a74bc2
Signed-off-by: Eddie James <eajames@us.ibm.com>
1 file changed
tree: 38d4cb3349179c8510b442d9a93c99a8c2f808ba
  1. msl/
  2. test/
  3. tools/
  4. .gitignore
  5. argument.cpp
  6. argument.hpp
  7. bootstrap.sh
  8. configure.ac
  9. env.cpp
  10. env.hpp
  11. fan_pwm.cpp
  12. fan_pwm.hpp
  13. fan_speed.cpp
  14. fan_speed.hpp
  15. hwmon.cpp
  16. hwmon.hpp
  17. hwmonio.cpp
  18. hwmonio.hpp
  19. interface.hpp
  20. LICENSE
  21. mainloop.cpp
  22. mainloop.hpp
  23. MAINTAINERS
  24. Makefile.am
  25. readd.cpp
  26. README.iio.md
  27. README.md
  28. sensor.cpp
  29. sensor.hpp
  30. sensorset.cpp
  31. sensorset.hpp
  32. sysfs.cpp
  33. sysfs.hpp
  34. targets.hpp
  35. thresholds.hpp
  36. timer.cpp
  37. timer.hpp
  38. types.hpp
  39. util.hpp
README.md

Exposes generic hwmon entries as DBus objects.

To Build

To build this package, do the following steps:

    1. ./bootstrap.sh
    2. ./configure ${CONFIGURE_FLAGS}
    3. make

To clean the repository run `./bootstrap.sh clean`.

D-Bus bus names

To enable the use of Linux features like cgroups prioritization and
udev/systemd control, one instance of phosphor-hwmon is intended to
be run per hwmon sysfs class instance.

This requires an algorithm for selecting a stable, well-known D-Bus busname.

The algorithm is <PREFIX>-<ID>.Hwmon<N> where PREFIX is an autoconf
configurable prefix (BUSNAME_PREFIX, xyz.openbmc_project by default),
ID is a std::hash of the /sys/devices path backing the hwmon class
instance, and N is the implemented phosphor-hwmon D-Bus API version.