From 9789508b0d23b4c253588c6f5f88c6ebab2c7ade Mon Sep 17 00:00:00 2001 From: Dan Crowell Date: Sat, 8 Mar 2014 15:51:02 -0600 Subject: Force low-level hardware ops to use delayed deconfig Some code (PRD) chooses to commit errors from register accesses immediately and then continue on. If the error ends up deconfiguring a target that can then lead to even more confusing results downstream. Change-Id: I289b43506a6d7c9d18d4ac6792fffbfc733daea6 CQ: SW250177 Backport: release-fips810 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/9415 Tested-by: Jenkins Server Reviewed-by: Michael Baiocchi Reviewed-by: A. Patrick Williams III --- src/usr/fsiscom/fsiscom.C | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src/usr/fsiscom') diff --git a/src/usr/fsiscom/fsiscom.C b/src/usr/fsiscom/fsiscom.C index 4d390360a..dd17a6169 100644 --- a/src/usr/fsiscom/fsiscom.C +++ b/src/usr/fsiscom/fsiscom.C @@ -80,7 +80,7 @@ void pib_error_handler( TARGETING::Target* i_target, // callout this chip as Medium and deconfigure it i_errlog->addHwCallout( i_target, HWAS::SRCI_PRIORITY_LOW, - HWAS::DECONFIG, + HWAS::DELAYED_DECONFIG, HWAS::GARD_NULL ); // grab all the FFDC we can think of @@ -418,7 +418,7 @@ errlHndl_t fsiScomPerformOp(DeviceFW::OperationType i_opType, } else { - TRACFCOMP( g_trac_fsiscom, ERR_MRK"fsiScomPerformOp:Read: PCB/PIB error received: l_status=0x%.8X)", l_status); + TRACFCOMP( g_trac_fsiscom, ERR_MRK"fsiScomPerformOp:Unsupported Operation Type: i_opType=%d)", i_opType); /*@ * @errortype @@ -434,14 +434,12 @@ errlHndl_t fsiScomPerformOp(DeviceFW::OperationType i_opType, FSISCOM::RC_INVALID_OPTYPE, TWO_UINT32_TO_UINT64(i_opType, l_scomAddr), - TARGETING::get_huid(i_target)); + TARGETING::get_huid(i_target), + true /*SW error*/); //Add this target to the FFDC ERRORLOG::ErrlUserDetailsTarget(i_target,"SCOM Target"). addToLog(l_err); - l_err->addProcedureCallout(HWAS::EPUB_PRC_HB_CODE, - HWAS::SRCI_PRIORITY_HIGH); - break; } -- cgit v1.2.1