summaryrefslogtreecommitdiffstats
path: root/src/usr/i2c
diff options
context:
space:
mode:
authorChris Engel <cjengel@us.ibm.com>2016-05-24 17:00:41 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2016-05-27 09:16:51 -0400
commit11e8d7d9eb1f789453883cf6839151de0966b6ea (patch)
tree056566e90a002f30072b0f8367f3361901bf4f34 /src/usr/i2c
parentf1ac3ea6887847d485334099d875b46e828ad053 (diff)
downloadtalos-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-xsrc/usr/i2c/tpmdd.C19
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! "
OpenPOWER on IntegriCloud