RE: [PATCH] net: fec: fix unbalanced clk disable on driver unbind

From: fugang.duan@xxxxxxxxxxxxx
Date: Thu Mar 05 2015 - 20:37:17 EST


From: Stefan Agner <stefan@xxxxxxxx> Sent: Thursday, March 05, 2015 10:09 PM
> To: davem@xxxxxxxxxxxxx
> Cc: Duan Fugang-B38611; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; stefan@xxxxxxxx
> 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@xxxxxxxx>
> ---
> 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@xxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/