From: Florian Fainelli Date: Thu, 25 Sep 2014 00:05:17 +0000 (-0700) Subject: net: dsa: start and stop the PHY state machine X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=f7f1de51edbd;p=deliverable%2Flinux.git 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 Signed-off-by: David S. Miller --- diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 43c1e4ade689..4392e983abda 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -84,6 +84,9 @@ static int dsa_slave_open(struct net_device *dev) goto clear_allmulti; } + if (p->phy) + phy_start(p->phy); + return 0; clear_allmulti: @@ -101,6 +104,9 @@ static int dsa_slave_close(struct net_device *dev) struct dsa_slave_priv *p = netdev_priv(dev); struct net_device *master = p->parent->dst->master_netdev; + if (p->phy) + phy_stop(p->phy); + dev_mc_unsync(master, dev); dev_uc_unsync(master, dev); if (dev->flags & IFF_ALLMULTI)