Commit f7f1de51 authored by Florian Fainelli's avatar Florian Fainelli Committed by David S. Miller

net: dsa: start and stop the PHY state machine

dsa_slave_open() should start the PHY library state machine for its PHY
interface, and dsa_slave_close() should stop the PHY library state
machine accordingly.
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 155c6e1a
...@@ -84,6 +84,9 @@ static int dsa_slave_open(struct net_device *dev) ...@@ -84,6 +84,9 @@ static int dsa_slave_open(struct net_device *dev)
goto clear_allmulti; goto clear_allmulti;
} }
if (p->phy)
phy_start(p->phy);
return 0; return 0;
clear_allmulti: clear_allmulti:
...@@ -101,6 +104,9 @@ static int dsa_slave_close(struct net_device *dev) ...@@ -101,6 +104,9 @@ static int dsa_slave_close(struct net_device *dev)
struct dsa_slave_priv *p = netdev_priv(dev); struct dsa_slave_priv *p = netdev_priv(dev);
struct net_device *master = p->parent->dst->master_netdev; struct net_device *master = p->parent->dst->master_netdev;
if (p->phy)
phy_stop(p->phy);
dev_mc_unsync(master, dev); dev_mc_unsync(master, dev);
dev_uc_unsync(master, dev); dev_uc_unsync(master, dev);
if (dev->flags & IFF_ALLMULTI) if (dev->flags & IFF_ALLMULTI)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment