Message ID | 20190226081506.25887-1-T.Rajasingh@landisgyr.com |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
Series | net: phy: Micrel KSZ8061: link failure after cable connect | expand |
On Tue, Feb 26, 2019 at 01:45:06PM +0530, Rajasingh Thavamani wrote: > With Micrel KSZ8061 PHY, the link may occasionally not come up after > Ethernet cable connect. The vendor's (Microchip, former Micrel) errata > sheet 80000688A.pdf descripes the problem and possible workarounds in > detail, see below. > The batch implements workaround 1, which permanently fixes the issue. ... > PLAN > This errata will not be corrected in the future revision. > > Signed-off-by: Rajasingh Thavamani <T.Rajasingh@landisgyr.com> We have been here before: https://lkml.org/lkml/2018/11/23/466 At that time, the patch was from Alexander Onnasch, and has his signed-off-by. Now it only has your SOB. It probably should have both. My reviewed-by has gone missing. And this is version 3? And in the comments i also included a Fixed: tag, which should be added. Please submit a v4 with all these issues fixed. Thanks Andrew
diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index b1f959935f50..b7df0295a3ca 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -344,6 +344,17 @@ static int ksz8041_config_aneg(struct phy_device *phydev) return genphy_config_aneg(phydev); } +static int ksz8061_config_init(struct phy_device *phydev) +{ + int ret; + + ret = phy_write_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_DEVID1, 0xB61A); + if (ret) + return ret; + + return kszphy_config_init(phydev); +} + static int ksz9021_load_values_from_of(struct phy_device *phydev, const struct device_node *of_node, u16 reg, @@ -1040,7 +1051,7 @@ static struct phy_driver ksphy_driver[] = { .name = "Micrel KSZ8061", .phy_id_mask = MICREL_PHY_ID_MASK, .features = PHY_BASIC_FEATURES, - .config_init = kszphy_config_init, + .config_init = ksz8061_config_init, .ack_interrupt = kszphy_ack_interrupt, .config_intr = kszphy_config_intr, .suspend = genphy_suspend,