From: Romain Perier Date: Wed, 10 Sep 2014 07:51:13 +0000 (+0000) Subject: net: ethernet: arc: Don't free Rockchip resources before disconnect from phy X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=cf98192d2e2b923241b8e6eee05a5b31f4bc16f2;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git net: ethernet: arc: Don't free Rockchip resources before disconnect from phy Free resources before being disconnected from phy and calling core driver is wrong and should not happen. It avoids a delay of 4-5s caused by the timeout of phy_disconnect(). Signed-off-by: Romain Perier Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/arc/emac_rockchip.c b/drivers/net/ethernet/arc/emac_rockchip.c index 51d0585e2575..c31c7407b753 100644 --- a/drivers/net/ethernet/arc/emac_rockchip.c +++ b/drivers/net/ethernet/arc/emac_rockchip.c @@ -202,12 +202,13 @@ static int emac_rockchip_remove(struct platform_device *pdev) struct rockchip_priv_data *priv = netdev_priv(ndev); int err; + err = arc_emac_remove(ndev); + clk_disable_unprepare(priv->refclk); if (priv->regulator) regulator_disable(priv->regulator); - err = arc_emac_remove(ndev); free_netdev(ndev); return err; }