Message ID | 20210208140341.9271-20-Sergey.Semin@baikalelectronics.ru |
---|---|
State | New |
Headers | show |
Series | net: stmmac: Obvious cleanups and several fixes | expand |
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);
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.Semin@baikalelectronics.ru> --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)