The DMA-channels enabling procedure is performed in the framework of the the DW *MAC hardware setup method. For the sake of the driver code coherency let's move the DMA-channels stop function invocation to the HW-setup antagonist method - stmmac_hw_teardown(). The latter is called in the stmmac_hw_setup() error path and in the network device release callback. So by introducing this alteration we not only improve the code readability, but also make the stmmac_hw_teardown() doing better the HW cleanup work.
Signed-off-by: Serge Semin <sergey.se...@baikalelectronics.ru> --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index d6446aa712e1..3c03b773295a 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -2792,6 +2792,8 @@ static void stmmac_hw_teardown(struct net_device *dev) { struct stmmac_priv *priv = netdev_priv(dev); + stmmac_stop_all_dma(priv); + stmmac_release_ptp(priv); } @@ -2970,9 +2972,6 @@ static int stmmac_release(struct net_device *dev) del_timer_sync(&priv->eee_ctrl_timer); } - /* Stop TX/RX DMA and clear the descriptors */ - stmmac_stop_all_dma(priv); - /* Cleanup HW setup */ stmmac_hw_teardown(dev); -- 2.29.2