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: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
155c6e1ad4
commit
f7f1de51ed
1 changed files with 6 additions and 0 deletions
|
@ -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)
|
||||||
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)
|
||||||
|
|
Loading…
Add table
Reference in a new issue