Message ID | 1425564569-12184-1-git-send-email-stefan@agner.ch |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Stefan Agner <stefan@agner.ch> Sent: Thursday, March 05, 2015 10:09 PM > To: davem@davemloft.net > Cc: Duan Fugang-B38611; netdev@vger.kernel.org; linux- > kernel@vger.kernel.org; stefan@agner.ch > Subject: [PATCH] net: fec: fix unbalanced clk disable on driver unbind > > When the driver is removed (e.g. using unbind through sysfs), the clocks > get disabled twice, once on fec_enet_close and once on fec_drv_remove. > Since the clocks are enabled only once, this leads to a warning: > > WARNING: CPU: 0 PID: 402 at drivers/clk/clk.c:992 > clk_core_disable+0x64/0x68() > > Remove the call to fec_enet_clk_enable in fec_drv_remove to balance the > clock enable/disable calls again. This has been introduce by e8fcfcd5684a > ("net: fec: optimize the clock management to save power"). > > Signed-off-by: Stefan Agner <stefan@agner.ch> > --- > drivers/net/ethernet/freescale/fec_main.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/net/ethernet/freescale/fec_main.c > b/drivers/net/ethernet/freescale/fec_main.c > index 9bb6220..5fbdf72 100644 > --- a/drivers/net/ethernet/freescale/fec_main.c > +++ b/drivers/net/ethernet/freescale/fec_main.c > @@ -3383,7 +3383,6 @@ fec_drv_remove(struct platform_device *pdev) > regulator_disable(fep->reg_phy); > if (fep->ptp_clock) > ptp_clock_unregister(fep->ptp_clock); > - fec_enet_clk_enable(ndev, false); > of_node_put(fep->phy_node); > free_netdev(ndev); > > -- > 2.3.0 Acked-by: Fugang Duan <B38611@freescale.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Stefan Agner <stefan@agner.ch> Date: Thu, 5 Mar 2015 15:09:29 +0100 > When the driver is removed (e.g. using unbind through sysfs), the > clocks get disabled twice, once on fec_enet_close and once on > fec_drv_remove. Since the clocks are enabled only once, this leads > to a warning: > > WARNING: CPU: 0 PID: 402 at drivers/clk/clk.c:992 clk_core_disable+0x64/0x68() > > Remove the call to fec_enet_clk_enable in fec_drv_remove to balance > the clock enable/disable calls again. This has been introduce by > e8fcfcd5684a ("net: fec: optimize the clock management to save power"). > > Signed-off-by: Stefan Agner <stefan@agner.ch> Applied, thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 9bb6220..5fbdf72 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -3383,7 +3383,6 @@ fec_drv_remove(struct platform_device *pdev) regulator_disable(fep->reg_phy); if (fep->ptp_clock) ptp_clock_unregister(fep->ptp_clock); - fec_enet_clk_enable(ndev, false); of_node_put(fep->phy_node); free_netdev(ndev);
When the driver is removed (e.g. using unbind through sysfs), the clocks get disabled twice, once on fec_enet_close and once on fec_drv_remove. Since the clocks are enabled only once, this leads to a warning: WARNING: CPU: 0 PID: 402 at drivers/clk/clk.c:992 clk_core_disable+0x64/0x68() Remove the call to fec_enet_clk_enable in fec_drv_remove to balance the clock enable/disable calls again. This has been introduce by e8fcfcd5684a ("net: fec: optimize the clock management to save power"). Signed-off-by: Stefan Agner <stefan@agner.ch> --- drivers/net/ethernet/freescale/fec_main.c | 1 - 1 file changed, 1 deletion(-)