From 9268001524a9e4b1a43039aef264fd6087052e7f Mon Sep 17 00:00:00 2001 From: Fugang Duan Date: Mon, 4 Nov 2013 11:13:12 +0800 Subject: [PATCH] ENGR00286017: net:fec: fix clock enable/disable usecount mismatch Reproduce: 1. Boot up kernel with DHCP; 2. ifconfig eth0 down; 3. echo mem > /sys/power/state; There have clock enable/disable usecount mismatch warning dump. Fix this by checking device's netif_running state is up and then enable/disable clock. Signed-off-by: Fugang Duan --- drivers/net/ethernet/freescale/fec_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 3836f5dd45e2..d48fb53eaebc 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -2358,9 +2358,9 @@ fec_suspend(struct device *dev) if (netif_running(ndev)) { fec_stop(ndev); netif_device_detach(ndev); + fec_enet_clk_enable(ndev, false); } - fec_enet_clk_enable(ndev, false); if (fep->reg_phy) regulator_disable(fep->reg_phy); @@ -2384,8 +2384,8 @@ fec_resume(struct device *dev) return ret; } - fec_enet_clk_enable(ndev, true); if (netif_running(ndev)) { + fec_enet_clk_enable(ndev, true); fec_restart(ndev, fep->full_duplex); netif_device_attach(ndev); } -- 2.39.5