Skip to content

Commit

Permalink
Reconfig loop only when setting bad bits not clearing
Browse files Browse the repository at this point in the history
Change-Id: Ieb487b6587ff957d371c8049208f1368ab5d6c24
CQ: SW448578
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67447
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
  • Loading branch information
cnpalmer authored and zane131 committed Oct 16, 2018
1 parent 3e677e6 commit 6dc9852
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions src/usr/fapi2/attribute_service.C
Original file line number Diff line number Diff line change
Expand Up @@ -1604,11 +1604,19 @@ ReturnCode fapiAttrSetBadDqBitmap(
// Loop through all DQs
for (uint8_t j = 0; j < mss::BAD_DQ_BYTE_COUNT; j++)
{
if ( l_tmpData[i][j] != l_prev_data[i][j] )
// Loop through all bits
for ( uint8_t k = 0; k < mss::BITS_PER_BYTE; k++ )
{
badDqSet = true;
break;
uint8_t prevBit = (l_prev_data[i][j] >> k) & 0x01;
uint8_t newBit = (l_tmpData[i][j] >> k) & 0x01;
// Check for differences, and the bit was set, not cleared
if ( (prevBit != newBit) && (newBit != 0) )
{
badDqSet = true;
break;
}
}
if ( badDqSet ) break;
}
if ( badDqSet ) break;
}
Expand Down

0 comments on commit 6dc9852

Please sign in to comment.