diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/usr/fapi2/attribute_service.C | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/usr/fapi2/attribute_service.C b/src/usr/fapi2/attribute_service.C index 7ae603acf..9908e3abd 100644 --- a/src/usr/fapi2/attribute_service.C +++ b/src/usr/fapi2/attribute_service.C @@ -1871,6 +1871,13 @@ ReturnCode __rowRepairTranslateDramPos( uint8_t l_dramPos = (l_dramPosAndSrank >> 3) & 0x1f; uint8_t l_srank = l_dramPosAndSrank & 0x07; + // The last bit of the row repair stores the validity bit + bool l_valid = io_translatedData[rank][mss::ROW_REPAIR_BYTE_COUNT-1] + & 0x01; + + // If the row repair isn't valid, no need to translate anything + if ( !l_valid ) continue; + uint8_t l_dq = 0; l_rc = __dramToDq( i_fapiDimm, l_dramPos, l_dq ); if ( l_rc ) |