From e88e20d9755e40c215f74ea5065af1fd3fd11a89 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Mon, 3 Sep 2012 10:26:01 +0000 Subject: nuport-mac: disable MAC RX and TX during interface close Fixes sporadic crashes while reconfiguring the network interface. SVN-Revision: 33312 --- .../mcs814x/files-3.3/drivers/net/ethernet/mcs8140/nuport_mac.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/linux/mcs814x/files-3.3/drivers/net/ethernet/mcs8140/nuport_mac.c b/target/linux/mcs814x/files-3.3/drivers/net/ethernet/mcs8140/nuport_mac.c index b14019d578..4a42086046 100644 --- a/target/linux/mcs814x/files-3.3/drivers/net/ethernet/mcs8140/nuport_mac.c +++ b/target/linux/mcs814x/files-3.3/drivers/net/ethernet/mcs8140/nuport_mac.c @@ -829,9 +829,14 @@ out_emac_clk: static int nuport_mac_close(struct net_device *dev) { + u32 reg; struct nuport_mac_priv *priv = netdev_priv(dev); spin_lock_irq(&priv->lock); + reg = nuport_mac_readl(CTRL_REG); + reg &= ~(RX_ENABLE | TX_ENABLE); + nuport_mac_writel(reg, CTRL_REG); + napi_disable(&priv->napi); netif_stop_queue(dev); -- cgit v1.2.3