Skip to content

Commit 407d809

Browse files
Hans Anderssondavem330
authored andcommitted
net: phy: micrel: add Asym Pause workaround for KSZ9021
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: 3aed3e2 ("net: phy: micrel: add Asym Pause workaround") Signed-off-by: Hans Andersson <[email protected]> Reviewed-by: Andrew Lunn <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent fd4a809 commit 407d809

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

drivers/net/phy/micrel.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -763,6 +763,8 @@ static int ksz9031_get_features(struct phy_device *phydev)
763763
* Whenever the device's Asymmetric Pause capability is set to 1,
764764
* link-up may fail after a link-up to link-down transition.
765765
*
766+
* The Errata Sheet is for ksz9031, but ksz9021 has the same issue
767+
*
766768
* Workaround:
767769
* Do not enable the Asymmetric Pause capability bit.
768770
*/
@@ -1076,6 +1078,7 @@ static struct phy_driver ksphy_driver[] = {
10761078
/* PHY_GBIT_FEATURES */
10771079
.driver_data = &ksz9021_type,
10781080
.probe = kszphy_probe,
1081+
.get_features = ksz9031_get_features,
10791082
.config_init = ksz9021_config_init,
10801083
.ack_interrupt = kszphy_ack_interrupt,
10811084
.config_intr = kszphy_config_intr,

0 commit comments

Comments
 (0)