diff mbox

net: fec: fix unbalanced clk disable on driver unbind

Message ID 1425564569-12184-1-git-send-email-stefan@agner.ch
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Stefan Agner March 5, 2015, 2:09 p.m. UTC
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(-)

Comments

Fugang Duan March 6, 2015, 1:22 a.m. UTC | #1
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
David Miller March 6, 2015, 3:24 a.m. UTC | #2
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 mbox

Patch

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);