summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDoug Gilbert <dgilbert@us.ibm.com>2014-04-29 10:46:53 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-05-08 15:39:21 -0500
commit679df937c8d61247dfff4c0cbe21d7a8af43e7b0 (patch)
tree4c9bec7424f15e37f1c00e4f0be2144c25f6d484 /src
parentbef228d12666fb96a6a6e66b1e464aa6c6c0d53c (diff)
downloadtalos-hostboot-679df937c8d61247dfff4c0cbe21d7a8af43e7b0.tar.gz
talos-hostboot-679df937c8d61247dfff4c0cbe21d7a8af43e7b0.zip
Data exception when lots of FRU's don't have VPD provided by FSP
Change-Id: I05d15ed1ab28449e95f84614615b4b21b7fe7a62 RTC:98409 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/10841 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/usr/fsi/fsidd.C18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/usr/fsi/fsidd.C b/src/usr/fsi/fsidd.C
index 3b84eac76..440b8ccd6 100644
--- a/src/usr/fsi/fsidd.C
+++ b/src/usr/fsi/fsidd.C
@@ -2796,13 +2796,19 @@ errlHndl_t FsiDD::verifyPresent( TARGETING::Target* i_target )
uint32_t mlevp_data = 0x12345678;
if( iv_ffdcTask == 0 )
{
- errlHndl_t tmp_err = read( chipinfo.master,
- FSI_MLEVP0_018,
- &mlevp_data );
- if( tmp_err )
+ // doing a read for MLEVP will end up calling verifyPresent(..)
+ // again so make sure chipinfo.master is valid or there will be
+ // an infinite loop until stack space is exhausted.
+ if(chipinfo.master != NULL)
{
- delete tmp_err;
- mlevp_data = 0x12345678;
+ errlHndl_t tmp_err = read( chipinfo.master,
+ FSI_MLEVP0_018,
+ &mlevp_data );
+ if( tmp_err )
+ {
+ delete tmp_err;
+ mlevp_data = 0x12345678;
+ }
}
}
OpenPOWER on IntegriCloud