diff options
-rw-r--r-- | drivers/net/phy/bcm7xxx.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/phy/bcm7xxx.c b/drivers/net/phy/bcm7xxx.c index 4dea85bfc545..6b701b3ded74 100644 --- a/drivers/net/phy/bcm7xxx.c +++ b/drivers/net/phy/bcm7xxx.c | |||
@@ -246,6 +246,13 @@ static int bcm7xxx_28nm_config_init(struct phy_device *phydev) | |||
246 | pr_info_once("%s: %s PHY revision: 0x%02x, patch: %d\n", | 246 | pr_info_once("%s: %s PHY revision: 0x%02x, patch: %d\n", |
247 | dev_name(&phydev->dev), phydev->drv->name, rev, patch); | 247 | dev_name(&phydev->dev), phydev->drv->name, rev, patch); |
248 | 248 | ||
249 | /* Dummy read to a register to workaround an issue upon reset where the | ||
250 | * internal inverter may not allow the first MDIO transaction to pass | ||
251 | * the MDIO management controller and make us return 0xffff for such | ||
252 | * reads. | ||
253 | */ | ||
254 | phy_read(phydev, MII_BMSR); | ||
255 | |||
249 | switch (rev) { | 256 | switch (rev) { |
250 | case 0xb0: | 257 | case 0xb0: |
251 | ret = bcm7xxx_28nm_b0_afe_config_init(phydev); | 258 | ret = bcm7xxx_28nm_b0_afe_config_init(phydev); |