Message ID | 20190927075802.10376-1-haan@cellavision.se |
---|---|
State | Not Applicable |
Delegated to: | David Miller |
Headers | show |
Series | [v2] net: phy: micrel: add Asym Pause workaround for KSZ9021 | expand |
On 9/27/19 12:58 AM, Hans Andersson wrote: > From: Hans Andersson <hans.andersson@cellavision.se> > > The Micrel KSZ9031 PHY may fail to establish a link when the Asymmetric > Pause capability is set. This issue is described in a Silicon Errata > (DS80000691D or DS80000692D), which advises to always disable the > capability. > > Micrel KSZ9021 has no errata, but has the same issue with Asymmetric Pause. > This patch apply the same workaround as the one for KSZ9031. > > Fixes: 3aed3e2a143c ("net: phy: micrel: add Asym Pause workaround") > Signed-off-by: Hans Andersson <hans.andersson@cellavision.se> > Reviewed-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Florian Fainelli <f.fainellI@gmail.com>
diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index 3c8186f269f9..2fea5541c35a 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -763,6 +763,8 @@ static int ksz9031_get_features(struct phy_device *phydev) * Whenever the device's Asymmetric Pause capability is set to 1, * link-up may fail after a link-up to link-down transition. * + * The Errata Sheet is for ksz9031, but ksz9021 has the same issue + * * Workaround: * Do not enable the Asymmetric Pause capability bit. */ @@ -1076,6 +1078,7 @@ static struct phy_driver ksphy_driver[] = { /* PHY_GBIT_FEATURES */ .driver_data = &ksz9021_type, .probe = kszphy_probe, + .get_features = ksz9031_get_features, .config_init = ksz9021_config_init, .ack_interrupt = kszphy_ack_interrupt, .config_intr = kszphy_config_intr,