|
@@ -6948,8 +6948,11 @@ static int tg3_chip_reset(struct tg3 *tp)
|
|
|
tr32(GRC_VCPU_EXT_CTRL) & ~GRC_VCPU_EXT_CTRL_HALT_CPU);
|
|
|
}
|
|
|
|
|
|
- if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS)
|
|
|
+ /* Manage gphy power for all CPMU absent PCIe devices. */
|
|
|
+ if ((tp->tg3_flags2 & TG3_FLG2_5705_PLUS) &&
|
|
|
+ !(tp->tg3_flags & TG3_FLAG_CPMU_PRESENT))
|
|
|
val |= GRC_MISC_CFG_KEEP_GPHY_POWER;
|
|
|
+
|
|
|
tw32(GRC_MISC_CFG, val);
|
|
|
|
|
|
/* restore 5701 hardware bug workaround write method */
|