diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2010-10-05 14:10:34 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2010-10-05 14:10:34 +0000 |
commit | 69355ee10ed6f1f5815641ad0c58783d28cf37d0 (patch) | |
tree | ba25b71f14d91d52198887ee300ad3a8fe587da6 /target/linux/ramips | |
parent | 25a71a59aec292f177224f2d5f6567a3362ef9b0 (diff) | |
download | mtk-20170518-69355ee10ed6f1f5815641ad0c58783d28cf37d0.zip mtk-20170518-69355ee10ed6f1f5815641ad0c58783d28cf37d0.tar.gz mtk-20170518-69355ee10ed6f1f5815641ad0c58783d28cf37d0.tar.bz2 |
ramips: Allow ethernet interface to be taken down and up again
Taking the ramips ethernet interface down and up again resulted in the
driver not receiving any frames anymore. Fix this by correctly disabling
interrupts in the hw on ifdown.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
SVN-Revision: 23243
Diffstat (limited to 'target/linux/ramips')
-rw-r--r-- | target/linux/ramips/files/drivers/net/ramips.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/target/linux/ramips/files/drivers/net/ramips.c b/target/linux/ramips/files/drivers/net/ramips.c index a979fe0..fb6e6e8 100644 --- a/target/linux/ramips/files/drivers/net/ramips.c +++ b/target/linux/ramips/files/drivers/net/ramips.c @@ -406,6 +406,10 @@ ramips_eth_stop(struct net_device *dev) ramips_fe_wr(ramips_fe_rr(RAMIPS_PDMA_GLO_CFG) & ~(RAMIPS_TX_WB_DDONE | RAMIPS_RX_DMA_EN | RAMIPS_TX_DMA_EN), RAMIPS_PDMA_GLO_CFG); + + /* disable all interrupts in the hw */ + ramips_fe_wr(0, RAMIPS_FE_INT_ENABLE); + free_irq(dev->irq, dev); netif_stop_queue(dev); tasklet_kill(&priv->tx_housekeeping_tasklet); |