diff options
| author | Florian Fainelli <f.fainelli@gmail.com> | 2014-10-02 21:56:03 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2014-10-04 20:44:44 -0400 |
| commit | f7d6b96f345be7e0bd8f7651f7fe1efa5404c1e3 (patch) | |
| tree | 4d941d54f12e670bda8a976549b20ed8e755107a | |
| parent | dd3619f2ed5bd5ffce90f4fd8361ccd46d59b9b6 (diff) | |
net: dsa: do not call phy_start_aneg
Commit f7f1de51edbd ("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: f7f1de51edbd ("net: dsa: start and stop the PHY state machine")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | net/dsa/slave.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 36953c84ff2d..8030489d9cbe 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c | |||
| @@ -608,7 +608,6 @@ dsa_slave_create(struct dsa_switch *ds, struct device *parent, | |||
| 608 | p->phy->speed = 0; | 608 | p->phy->speed = 0; |
| 609 | p->phy->duplex = 0; | 609 | p->phy->duplex = 0; |
| 610 | p->phy->advertising = p->phy->supported | ADVERTISED_Autoneg; | 610 | p->phy->advertising = p->phy->supported | ADVERTISED_Autoneg; |
| 611 | phy_start_aneg(p->phy); | ||
| 612 | } | 611 | } |
| 613 | 612 | ||
| 614 | return slave_dev; | 613 | return slave_dev; |
