Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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 <romain.perier@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Romain Perier and committed by
David S. Miller
cf98192d 0aac3833

+2 -1
+2 -1
drivers/net/ethernet/arc/emac_rockchip.c
··· 202 202 struct rockchip_priv_data *priv = netdev_priv(ndev); 203 203 int err; 204 204 205 + err = arc_emac_remove(ndev); 206 + 205 207 clk_disable_unprepare(priv->refclk); 206 208 207 209 if (priv->regulator) 208 210 regulator_disable(priv->regulator); 209 211 210 - err = arc_emac_remove(ndev); 211 212 free_netdev(ndev); 212 213 return err; 213 214 }