diff options
author | Thi Tran <thi@us.ibm.com> | 2017-05-18 12:23:42 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-05-21 11:31:09 -0400 |
commit | 3f1943bd14db8f2831f9737ff1cebdc1e405be6e (patch) | |
tree | fd740c34483dfff92fdb42088d05485a04bee943 /src/import/chips | |
parent | a2dc28d3764e4c747fa34557f4fbcee7eadc2baf (diff) | |
download | talos-sbe-3f1943bd14db8f2831f9737ff1cebdc1e405be6e.tar.gz talos-sbe-3f1943bd14db8f2831f9737ff1cebdc1e405be6e.zip |
Fixing p9_pba_access.C to return FFDC for error from PBA status check
SBE team needs FFDC data to investigate defect SW388434.
This commit is to fix the lost of FFDC when there's an error with
PBA status check function.
Change-Id: Ib52f81ecec96308054e5b30dac15dbf9f8657214
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40713
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Benjamin Gass <bgass@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40714
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src/import/chips')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/nest/p9_pba_access.C | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_pba_access.C b/src/import/chips/p9/procedures/hwp/nest/p9_pba_access.C index e8a9690e..7f32b5ef 100644 --- a/src/import/chips/p9/procedures/hwp/nest/p9_pba_access.C +++ b/src/import/chips/p9/procedures/hwp/nest/p9_pba_access.C @@ -56,7 +56,7 @@ extern "C" { uint8_t io_data[]) { //return codes - fapi2::ReturnCode rc1; + fapi2::ReturnCode l_statusRc = fapi2::FAPI2_RC_SUCCESS; // mark HWP entry FAPI_DBG("Entering ...\n"); @@ -84,8 +84,9 @@ extern "C" { //If we are not in fastmode or this is the last granule, we want to check the status if ( i_lastGranule || (l_myPbaFlag.getFastMode() == false) ) { - rc1 = p9_pba_coherent_status_check(i_target); + l_statusRc = p9_pba_coherent_status_check(i_target); + // Clean up PBA regardless of status check returned value. if (i_lastGranule) { //Clean up the PBA since it's the last read/write and it has been finished @@ -93,14 +94,17 @@ extern "C" { "Error doing p9_pba_coherent_cleanup_pba"); } - // No error at this point - // Set error to rc1 returned from status check - fapi2::current_err = rc1; } // mark HWP exit fapi_try_exit: + // If error from status check, return it for FFDC + if (l_statusRc) + { + fapi2::current_err = l_statusRc; + } + //Handling error. PBA access is the main error if there's one. //Append the input data to an error if we got an error back for non-PPE env #ifndef __PPE__ |