diff options
author | Chris Engel <cjengel@us.ibm.com> | 2016-05-24 17:00:41 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2016-05-27 09:16:51 -0400 |
commit | 11e8d7d9eb1f789453883cf6839151de0966b6ea (patch) | |
tree | 056566e90a002f30072b0f8367f3361901bf4f34 /src/usr/i2c | |
parent | f1ac3ea6887847d485334099d875b46e828ad053 (diff) | |
download | talos-hostboot-11e8d7d9eb1f789453883cf6839151de0966b6ea.tar.gz talos-hostboot-11e8d7d9eb1f789453883cf6839151de0966b6ea.zip |
Fix error log memory leaks in tpmdd
Change-Id: I03bf0184affa6020697403aa0a64f8dd0f229220
RTC: 125287
ForwardPort: yes
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25002
Tested-by: Jenkins Server
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Tested-by: Jenkins OP Build CI
Tested-by: Jenkins OP HW
Tested-by: FSP CI Jenkins
Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25097
Reviewed-by: Christopher J. Engel <cjengel@us.ibm.com>
Diffstat (limited to 'src/usr/i2c')
-rwxr-xr-x | src/usr/i2c/tpmdd.C | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/usr/i2c/tpmdd.C b/src/usr/i2c/tpmdd.C index ef34ba2b7..94ea65674 100755 --- a/src/usr/i2c/tpmdd.C +++ b/src/usr/i2c/tpmdd.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2011,2015 */ +/* Contributors Listed Below - COPYRIGHT 2011,2016 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -1158,6 +1158,11 @@ errlHndl_t tpmReadAttributes ( TARGETING::Target * i_target, break; } + if (NULL != err) + { + break; + } + // Check if Attribute Data was found if( fail_reading_attribute == true ) { @@ -1528,7 +1533,8 @@ errlHndl_t tpmPollForCommandReady( tpm_info_t i_tpmInfo) { err = tpmReadSTSReg(i_tpmInfo, stsReg); - if (NULL == err && stsReg.isCommandReady) + if ((NULL == err && stsReg.isCommandReady) || + (NULL != err)) { break; } @@ -1552,7 +1558,8 @@ errlHndl_t tpmPollForCommandReady( tpm_info_t i_tpmInfo) { err = tpmReadSTSReg(i_tpmInfo, stsReg); - if (NULL == err && stsReg.isCommandReady) + if ((NULL == err && stsReg.isCommandReady) || + (NULL != err)) { break; } @@ -1644,7 +1651,8 @@ errlHndl_t tpmPollForDataAvail( tpm_info_t i_tpmInfo) { err = tpmReadSTSRegValid(i_tpmInfo, stsReg); - if (NULL == err && stsReg.dataAvail) + if ((NULL == err && stsReg.dataAvail) || + (NULL != err)) { break; } @@ -1904,7 +1912,8 @@ errlHndl_t tpmWriteFifo( tpm_info_t i_tpmInfo, } - if (delay >= TPMDD::TPM_TIMEOUT_D) + if (NULL == err && + delay >= TPMDD::TPM_TIMEOUT_D) { TRACFCOMP( g_trac_tpmdd, ERR_MRK"tpmWriteFifo(): Timeout! " |