|
@@ -1754,6 +1754,13 @@ static int stmmac_hw_setup(struct net_device *dev, bool init_ptp)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static void stmmac_hw_teardown(struct net_device *dev)
|
|
|
|
+{
|
|
|
|
+ struct stmmac_priv *priv = netdev_priv(dev);
|
|
|
|
+
|
|
|
|
+ clk_disable_unprepare(priv->plat->clk_ptp_ref);
|
|
|
|
+}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* stmmac_open - open entry point of the driver
|
|
* stmmac_open - open entry point of the driver
|
|
* @dev : pointer to the device structure.
|
|
* @dev : pointer to the device structure.
|
|
@@ -1863,6 +1870,7 @@ irq_error:
|
|
phy_stop(dev->phydev);
|
|
phy_stop(dev->phydev);
|
|
|
|
|
|
del_timer_sync(&priv->txtimer);
|
|
del_timer_sync(&priv->txtimer);
|
|
|
|
+ stmmac_hw_teardown(dev);
|
|
init_error:
|
|
init_error:
|
|
free_dma_desc_resources(priv);
|
|
free_dma_desc_resources(priv);
|
|
dma_desc_error:
|
|
dma_desc_error:
|