Skip to content

Commit

Permalink
drivers: net: cpsw: dual_emac: in suspend/resume bring down/up all th…
Browse files Browse the repository at this point in the history
…e netdev

During suspend and resume in Dual EMAC, second port is not working as in
suspend/resume only the first slave netdev is closed and opened. So bring
down and up all the interfaces that are up during suspend/resume.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Mugunthan V N authored and David S. Miller committed Sep 13, 2014
1 parent 0bc9b73 commit 618073e
Showing 1 changed file with 24 additions and 5 deletions.
29 changes: 24 additions & 5 deletions drivers/net/ethernet/ti/cpsw.c
Original file line number Diff line number Diff line change
Expand Up @@ -2334,10 +2334,19 @@ static int cpsw_suspend(struct device *dev)
struct net_device *ndev = platform_get_drvdata(pdev);
struct cpsw_priv *priv = netdev_priv(ndev);

if (netif_running(ndev))
cpsw_ndo_stop(ndev);
if (priv->data.dual_emac) {
int i;

for_each_slave(priv, soft_reset_slave);
for (i = 0; i < priv->data.slaves; i++) {
if (netif_running(priv->slaves[i].ndev))
cpsw_ndo_stop(priv->slaves[i].ndev);
soft_reset_slave(priv->slaves + i);
}
} else {
if (netif_running(ndev))
cpsw_ndo_stop(ndev);
for_each_slave(priv, soft_reset_slave);
}

pm_runtime_put_sync(&pdev->dev);

Expand All @@ -2351,14 +2360,24 @@ static int cpsw_resume(struct device *dev)
{
struct platform_device *pdev = to_platform_device(dev);
struct net_device *ndev = platform_get_drvdata(pdev);
struct cpsw_priv *priv = netdev_priv(ndev);

pm_runtime_get_sync(&pdev->dev);

/* Select default pin state */
pinctrl_pm_select_default_state(&pdev->dev);

if (netif_running(ndev))
cpsw_ndo_open(ndev);
if (priv->data.dual_emac) {
int i;

for (i = 0; i < priv->data.slaves; i++) {
if (netif_running(priv->slaves[i].ndev))
cpsw_ndo_open(priv->slaves[i].ndev);
}
} else {
if (netif_running(ndev))
cpsw_ndo_open(ndev);
}
return 0;
}

Expand Down

0 comments on commit 618073e

Please sign in to comment.