|
@@ -917,15 +917,21 @@ static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data)
|
|
}
|
|
}
|
|
if (mac->type == e1000_pch2lan) {
|
|
if (mac->type == e1000_pch2lan) {
|
|
/* SHRAH[0,1,2] different than previous */
|
|
/* SHRAH[0,1,2] different than previous */
|
|
- if (i == 7)
|
|
|
|
|
|
+ if (i == 1)
|
|
mask &= 0xFFF4FFFF;
|
|
mask &= 0xFFF4FFFF;
|
|
/* SHRAH[3] different than SHRAH[0,1,2] */
|
|
/* SHRAH[3] different than SHRAH[0,1,2] */
|
|
- if (i == 10)
|
|
|
|
|
|
+ if (i == 4)
|
|
mask |= (1 << 30);
|
|
mask |= (1 << 30);
|
|
|
|
+ /* RAR[1-6] owned by management engine - skipping */
|
|
|
|
+ if (i > 0)
|
|
|
|
+ i += 6;
|
|
}
|
|
}
|
|
|
|
|
|
REG_PATTERN_TEST_ARRAY(E1000_RA, ((i << 1) + 1), mask,
|
|
REG_PATTERN_TEST_ARRAY(E1000_RA, ((i << 1) + 1), mask,
|
|
0xFFFFFFFF);
|
|
0xFFFFFFFF);
|
|
|
|
+ /* reset index to actual value */
|
|
|
|
+ if ((mac->type == e1000_pch2lan) && (i > 6))
|
|
|
|
+ i -= 6;
|
|
}
|
|
}
|
|
|
|
|
|
for (i = 0; i < mac->mta_reg_count; i++)
|
|
for (i = 0; i < mac->mta_reg_count; i++)
|