diff options
author | Eddie James <eajames@us.ibm.com> | 2018-05-02 15:57:23 -0500 |
---|---|---|
committer | Edward A. James <eajames@us.ibm.com> | 2018-05-09 15:12:28 +0000 |
commit | b5508d7a0fd9202c37cc02aea045f189e991dd09 (patch) | |
tree | f592a56e0f5347aaf3fe77d54037988a4bf50570 /occ_status.hpp | |
parent | 85e6520e0c431498e57b10a68b38f3cc4b1d8d88 (diff) | |
download | openpower-occ-control-b5508d7a0fd9202c37cc02aea045f189e991dd09.tar.gz openpower-occ-control-b5508d7a0fd9202c37cc02aea045f189e991dd09.zip |
Add Bus class to reset OCC bus driver
For some systems, the OCC is accessed over the SBEFIFO, acting as a bus.
If the SBE experiences a failure, the SBEFIFO driver is unable to
recover. Therefore, the OCC control application must force a reset of
the SBEFIFO driver when the OCC goes active.
Add a Bus class and reset method to unbind and bind the appropriate
SBEFIFO devices when the OCC devices are bound.
Testing: Powered on the system successfully. Injected SBE error through
a putscom. Without this fix, I intermittently saw SBEFIFO errors on the
BMC after the injection. With the fix, I saw no errors despite ~20
iterations.
Resolves openbmc/openbmc#3156
Change-Id: I0f9a230c57d0a3a7b59a874f62cdb1d93c6dcdfb
Signed-off-by: Eddie James <eajames@us.ibm.com>
Diffstat (limited to 'occ_status.hpp')
-rw-r--r-- | occ_status.hpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/occ_status.hpp b/occ_status.hpp index f14bd7d..579f29d 100644 --- a/occ_status.hpp +++ b/occ_status.hpp @@ -74,6 +74,7 @@ class Status : public Interface #endif manager, *this, + instance, std::bind(std::mem_fn(&Status::deviceErrorHandler), this, std::placeholders::_1)), hostControlSignal( |