From 5e877f02b4c12076623c5d42a3c4e0ba14221fdd Mon Sep 17 00:00:00 2001
From: Florian Fainelli <florian@openwrt.org>
Date: Wed, 8 Aug 2012 21:51:13 +0000
Subject: [PATCH] nuport-mac: close possible race condition during start

SVN-Revision: 33069
---
 .../files-3.3/drivers/net/ethernet/mcs8140/nuport_mac.c     | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

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 ebf95a6533..8cd3d0e6b6 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
@@ -809,7 +809,11 @@ static int nuport_mac_open(struct net_device *dev)
 	nuport_mac_reset_rx_dma(priv);
 
 	/* Start RX DMA */
-	return nuport_mac_start_rx_dma(priv, priv->rx_skb[0]);
+	spin_lock_irqsave(&priv->lock, flags);
+	ret = nuport_mac_start_rx_dma(priv, priv->rx_skb[0]);
+	spin_unlock_irqrestore(&priv->lock, flags);
+
+	return ret;
 
 out_rx_skb:
 	nuport_mac_free_rx_ring(priv);
-- 
GitLab