diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2019-11-15 08:32:37 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-11-15 14:40:35 +0100 |
commit | 76ace47bfc9c233471af14d441c2f5a1d8bf4b53 (patch) | |
tree | be1d585476ffa10075ae905705a468f5c481ace9 /drivers/net | |
parent | 94b5d9036ef1fe90812dc47fa64816f5f9c1690e (diff) | |
download | barebox-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>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/designware_eqos.c | 2 |
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)); |