summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2019-11-15 08:32:37 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2019-11-15 14:40:35 +0100
commit76ace47bfc9c233471af14d441c2f5a1d8bf4b53 (patch)
treebe1d585476ffa10075ae905705a468f5c481ace9
parent94b5d9036ef1fe90812dc47fa64816f5f9c1690e (diff)
downloadbarebox-76ace47bfc9c233471af14d441c2f5a1d8bf4b53.tar.gz
barebox-76ace47bfc9c233471af14d441c2f5a1d8bf4b53.tar.xz
net: designware: eqos: properly stop DMA on halt
Specifying ->halt only means that it's called along with eth_unregister. If we want to halt the DMA, we will have to call it ourselves in the remove callback. Do this. Signed-off-by: Ahmad Fatoum <ahmad@a3f.at> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/net/designware_eqos.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/designware_eqos.c b/drivers/net/designware_eqos.c
index a49239e057..52a5ec272e 100644
--- a/drivers/net/designware_eqos.c
+++ b/drivers/net/designware_eqos.c
@@ -869,6 +869,8 @@ void eqos_remove(struct device_d *dev)
{
struct eqos *eqos = dev->priv;
+ eth_unregister(&eqos->netdev);
+
mdiobus_unregister(&eqos->miibus);
dma_free(phys_to_virt(eqos->rx_descs[0].des0));