Add processor callout when BMC has no comm to an OCC
The non-informational PEL indicating that communication has been lost to
the OCC did not have any callouts.
This commit will add a callout for the processor that it was unable to
communicate with.
Example:
'''
"Error Details": {
"Message": "BMC failed to communicate with the OCC"
},
"Valid Word Count": "0x09",
"Reference Code": "BD572684",
"Hex Word 2": "00000055",
"Hex Word 3": "2E2D0010",
"Hex Word 4": "00000000",
"Hex Word 5": "00000000",
"Hex Word 6": "00000000",
"Hex Word 7": "00000000",
"Hex Word 8": "00000000",
"Hex Word 9": "00000000",
"Callout Section": {
"Callout Count": "1",
"Callouts": [{
"FRU Type": "Normal Hardware FRU",
"Priority": "Mandatory, replace all with this type as a unit",
"Location Code": "U78DA.ND0.WZS003T-P0-C15",
"Part Number": "F201110",
"CCIN": "5C67",
"Serial Number": "YA39AAAA1828"
}]
}
'''
A
Verified on Rainier.
Change-Id: Ia26668af568238d78263b81d16fd30a849f67134
Signed-off-by: Chris Cain <cjcain@us.ibm.com>
diff --git a/occ_status.cpp b/occ_status.cpp
index c664d11..220fcdd 100644
--- a/occ_status.cpp
+++ b/occ_status.cpp
@@ -157,7 +157,8 @@
if (d.log)
{
- FFDC::createOCCResetPEL(instance, d.path, d.err, d.callout);
+ FFDC::createOCCResetPEL(instance, d.path, d.err, d.callout,
+ d.isInventoryCallout);
}
// This would deem OCC inactive
@@ -575,7 +576,9 @@
stateValid = false;
// Disable due to OCC comm failure and reset to try recovering
- deviceError(Error::Descriptor(OCC_COMM_ERROR_PATH));
+ // (processor callout will be added)
+ deviceError(Error::Descriptor(OCC_COMM_ERROR_PATH, ECOMM,
+ procPath.c_str(), true));
// Reset retry count (for next attempt after recovery)
currentOccReadRetriesCount = occReadRetries;