summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/edi_ei_initialization
diff options
context:
space:
mode:
authorRichard J. Knight <rjknight@us.ibm.com>2012-10-16 00:13:25 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-11-03 14:39:41 -0500
commit0fb4ee347957ceb2b58a200551fe6cf2cc212e74 (patch)
tree14efe53094c44be5beb1afe62be4b65bf143014f /src/usr/hwpf/hwp/edi_ei_initialization
parent5aa9bef02647193eed4ce4d26851bd5d79c87c01 (diff)
downloadtalos-hostboot-0fb4ee347957ceb2b58a200551fe6cf2cc212e74.tar.gz
talos-hostboot-0fb4ee347957ceb2b58a200551fe6cf2cc212e74.zip
Return error when procedures fail during istep
Change-Id: I65686d261583ea84c7908f819071bd751fdb0e06 RTC: 39876 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1627 Tested-by: Jenkins Server Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Reviewed-by: Paul Nguyen <nguyenp@us.ibm.com> Reviewed-by: Mark W. Wenning <wenning@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/edi_ei_initialization')
-rw-r--r--src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C68
1 files changed, 58 insertions, 10 deletions
diff --git a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C
index f46a09a47..dd7115907 100644
--- a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C
+++ b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C
@@ -47,6 +47,8 @@
#include <initservice/taskargs.H>
#include <errl/errlentry.H>
+#include <hwpisteperror.H>
+
#include <initservice/isteps_trace.H>
// targeting support
@@ -75,6 +77,8 @@ namespace EDI_EI_INITIALIZATION
{
+using namespace ISTEP;
+using namespace ISTEP_ERROR;
using namespace TARGETING;
using namespace fapi;
@@ -246,6 +250,8 @@ void* call_fabric_io_run_training( void *io_pArgs )
{
errlHndl_t l_errl = NULL;
+ IStepError l_StepError;
+
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_fabric_io_run_training entry" );
@@ -285,6 +291,28 @@ void* call_fabric_io_run_training( void *io_pArgs )
"%s : %cbus connection io_run_training",
(l_errl ? "ERROR" : "SUCCESS"),
(i ? 'X' : 'A') );
+
+ if ( l_errl )
+ {
+ /*@
+ * @errortype
+ * @reasoncode ISTEP_EDI_EI_INITIALIZATION_FAILED
+ * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE
+ * @moduleid ISTEP_FABRIC_IO_RUN_TRAINING
+ * @userdata1 bytes 0-1: plid identifying first error
+ * bytes 2-3: reason code of first error
+ * @userdata2 bytes 0-1: total number of elogs included
+ * bytes 2-3: N/A
+ * @devdesc call to fabric_io_run_training has failed
+ * see error log in the user details seciton for
+ * additional details.
+ */
+ l_StepError.addErrorDetails(ISTEP_EDI_EI_INITIALIZATION_FAILED,
+ ISTEP_FABRIC_IO_RUN_TRAINING,
+ l_errl );
+
+ errlCommit( l_errl, HWPF_COMP_ID );
+ }
}
}
@@ -292,7 +320,7 @@ void* call_fabric_io_run_training( void *io_pArgs )
"call_fabric_io_run_training exit" );
// end task, returning any errorlogs to IStepDisp
- return l_errl;
+ return l_StepError.getErrorHandle();
}
@@ -465,6 +493,8 @@ void* call_proc_fab_iovalid( void *io_pArgs )
ReturnCode l_rc;
errlHndl_t l_errl = NULL;
+ IStepError l_StepError;
+
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_proc_fab_iovalid entry" );
@@ -548,25 +578,43 @@ void* call_proc_fab_iovalid( void *io_pArgs )
l_smp.push_back(l_procEntry);
}
- if (l_errl)
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR : call_proc_fab_iovalid encountered an error");
- }
- else
+ if (!l_errl)
{
FAPI_INVOKE_HWP( l_errl, proc_fab_iovalid, l_smp, true );
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "%s : proc_fab_iovalid HWP.",
- (l_errl ? "ERROR" : "SUCCESS"));
+ "%s : proc_fab_iovalid HWP.",
+ (l_errl ? "ERROR" : "SUCCESS"));
+ }
+
+ if (l_errl)
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR : call_proc_fab_iovalid encountered an error");
+ /*@
+ * @errortype
+ * @reasoncode ISTEP_EDI_EI_INITIALIZATION_FAILED
+ * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE
+ * @moduleid ISTEP_PROC_FAB_IOVALID
+ * @userdata1 bytes 0-1: plid identifying first error
+ * bytes 2-3: reason code of first error
+ * @userdata2 bytes 0-1: total number of elogs included
+ * bytes 2-3: N/A
+ * @devdesc call to proc_fab_iovalid has failed
+ */
+ l_StepError.addErrorDetails(ISTEP_EDI_EI_INITIALIZATION_FAILED,
+ ISTEP_PROC_FAB_IOVALID,
+ l_errl );
+
+ errlCommit( l_errl, HWPF_COMP_ID );
+
}
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_proc_fab_iovalid exit" );
// end task, returning any errorlogs to IStepDisp
- return l_errl;
+ return l_StepError.getErrorHandle();
}
OpenPOWER on IntegriCloud