From: Florian Fainelli Date: Wed, 1 Aug 2018 00:12:52 +0000 (-0700) Subject: net: dsa: Do not suspend/resume closed slave_dev X-Git-Tag: v4.9.118~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ab9a0f80bce707fa4f8b4d63ad1f3b2a89079caa;p=platform%2Fkernel%2Flinux-amlogic.git net: dsa: Do not suspend/resume closed slave_dev [ Upstream commit a94c689e6c9e72e722f28339e12dff191ee5a265 ] If a DSA slave network device was previously disabled, there is no need to suspend or resume it. Fixes: 2446254915a7 ("net: dsa: allow switch drivers to implement suspend/resume hooks") Signed-off-by: Florian Fainelli Reviewed-by: Andrew Lunn Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 5000e6f20f4a..339d9c678d3e 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -1199,6 +1199,9 @@ int dsa_slave_suspend(struct net_device *slave_dev) { struct dsa_slave_priv *p = netdev_priv(slave_dev); + if (!netif_running(slave_dev)) + return 0; + netif_device_detach(slave_dev); if (p->phy) { @@ -1216,6 +1219,9 @@ int dsa_slave_resume(struct net_device *slave_dev) { struct dsa_slave_priv *p = netdev_priv(slave_dev); + if (!netif_running(slave_dev)) + return 0; + netif_device_attach(slave_dev); if (p->phy) {