summaryrefslogtreecommitdiffstats
path: root/src/usr/i2c
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/i2c')
-rwxr-xr-xsrc/usr/i2c/i2c.C12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/usr/i2c/i2c.C b/src/usr/i2c/i2c.C
index 65c34535d..17f5d258d 100755
--- a/src/usr/i2c/i2c.C
+++ b/src/usr/i2c/i2c.C
@@ -2579,13 +2579,15 @@ errlHndl_t i2cForceResetAndUnlock( TARGETING::Target * i_target,
auto skipDiagMode = false;
// P9 engine 2 port 0 has a limitation where the diag mode
- // cannot be used. -- skip it if the attribute states it
- // should not be used
+ // cannot be used. Since diag mode restrictions are enforced at
+ // the engine level, generalize this restriction to all ports on
+ // that engine, skipping the diagnostic reset based on the
+ // value of the attribute.
const auto l_disable_diag_mode =
i_target->getAttr<
TARGETING::ATTR_DISABLE_I2C_ENGINE2_PORT0_DIAG_MODE>();
- if ( (l_disable_diag_mode)
- &&((0 == port) && (2 == i_args.engine))) // Host
+ if ( (l_disable_diag_mode)
+ && (2 == i_args.engine)) // Host
{
skipDiagMode = true;
}
@@ -2608,7 +2610,7 @@ errlHndl_t i2cForceResetAndUnlock( TARGETING::Target * i_target,
TRACFCOMP(g_trac_i2c,
INFO_MRK "Not doing i2cForceResetAndUnlock() for "
"target=0x%08X: e/p= %d/%d due to P9 diag mode "
- "limitations. Disable diag mode on e2/p0 = %d, "
+ "limitations. Disable diag mode on e2 = %d, "
"secure mode enabled = %d",
TARGETING::get_huid(i_target),
i_args.engine, port,l_disable_diag_mode,
OpenPOWER on IntegriCloud