提交 f7d6b96f 编写于 作者: F Florian Fainelli 提交者: David S. Miller

net: dsa: do not call phy_start_aneg

Commit f7f1de51 ("net: dsa: start and stop the PHY state machine")
add calls to phy_start() in dsa_slave_open() respectively phy_stop() in
dsa_slave_close().

We also call phy_start_aneg() in dsa_slave_create(), and this call is
messing up with the PHY state machine, since we basically start the
auto-negotiation, and later on restart it when calling phy_start().
phy_start() does not currently handle the PHY_FORCING or PHY_AN states
properly, but such a fix would be too invasive for this window.

Fixes: f7f1de51 ("net: dsa: start and stop the PHY state machine")
Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 dd3619f2
...@@ -608,7 +608,6 @@ dsa_slave_create(struct dsa_switch *ds, struct device *parent, ...@@ -608,7 +608,6 @@ dsa_slave_create(struct dsa_switch *ds, struct device *parent,
p->phy->speed = 0; p->phy->speed = 0;
p->phy->duplex = 0; p->phy->duplex = 0;
p->phy->advertising = p->phy->supported | ADVERTISED_Autoneg; p->phy->advertising = p->phy->supported | ADVERTISED_Autoneg;
phy_start_aneg(p->phy);
} }
return slave_dev; return slave_dev;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册