# HG changeset patch
# User Florian Pose <fp@igh-essen.com>
# Date 1354704427 -3600
# Node ID fc64a4b1ec1a434d9f5b4b7db575af789feb80ed
# Parent  4f97d61a8671f3edbbcd12959e02eb63facdb629
Fixed __e1000_maybe_stop_tx().

diff -r 4f97d61a8671 -r fc64a4b1ec1a devices/e1000/e1000_main-2.6.20-ethercat.c
--- a/devices/e1000/e1000_main-2.6.20-ethercat.c	Wed Dec 05 11:32:45 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.20-ethercat.c	Wed Dec 05 11:47:07 2012 +0100
@@ -3300,6 +3300,10 @@
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
 
+	if (adapter->ecdev) {
+		return -EBUSY;
+	}
+
 	netif_stop_queue(netdev);
 	/* Herbert's original patch had:
 	 *  smp_mb__after_netif_stop_queue();
diff -r 4f97d61a8671 -r fc64a4b1ec1a devices/e1000/e1000_main-2.6.22-ethercat.c
--- a/devices/e1000/e1000_main-2.6.22-ethercat.c	Wed Dec 05 11:32:45 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.22-ethercat.c	Wed Dec 05 11:47:07 2012 +0100
@@ -3292,6 +3292,10 @@
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
 
+	if (adapter->ecdev) {
+		return -EBUSY;
+	}
+
 	netif_stop_queue(netdev);
 	/* Herbert's original patch had:
 	 *  smp_mb__after_netif_stop_queue();
diff -r 4f97d61a8671 -r fc64a4b1ec1a devices/e1000/e1000_main-2.6.24-ethercat.c
--- a/devices/e1000/e1000_main-2.6.24-ethercat.c	Wed Dec 05 11:32:45 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.24-ethercat.c	Wed Dec 05 11:47:07 2012 +0100
@@ -3292,6 +3292,10 @@
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
 
+	if (adapter->ecdev) {
+		return -EBUSY;
+	}
+
 	netif_stop_queue(netdev);
 	/* Herbert's original patch had:
 	 *  smp_mb__after_netif_stop_queue();
diff -r 4f97d61a8671 -r fc64a4b1ec1a devices/e1000/e1000_main-2.6.26-ethercat.c
--- a/devices/e1000/e1000_main-2.6.26-ethercat.c	Wed Dec 05 11:32:45 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.26-ethercat.c	Wed Dec 05 11:47:07 2012 +0100
@@ -3372,6 +3372,10 @@
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
 
+	if (adapter->ecdev) {
+		return -EBUSY;
+	}
+
 	netif_stop_queue(netdev);
 	/* Herbert's original patch had:
 	 *  smp_mb__after_netif_stop_queue();
diff -r 4f97d61a8671 -r fc64a4b1ec1a devices/e1000/e1000_main-2.6.27-ethercat.c
--- a/devices/e1000/e1000_main-2.6.27-ethercat.c	Wed Dec 05 11:32:45 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.27-ethercat.c	Wed Dec 05 11:47:07 2012 +0100
@@ -3339,6 +3339,10 @@
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
 
+	if (adapter->ecdev) {
+		return -EBUSY;
+	}
+
 	netif_stop_queue(netdev);
 	/* Herbert's original patch had:
 	 *  smp_mb__after_netif_stop_queue();
diff -r 4f97d61a8671 -r fc64a4b1ec1a devices/e1000/e1000_main-2.6.28-ethercat.c
--- a/devices/e1000/e1000_main-2.6.28-ethercat.c	Wed Dec 05 11:32:45 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.28-ethercat.c	Wed Dec 05 11:47:07 2012 +0100
@@ -3236,6 +3236,10 @@
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
 
+	if (adapter->ecdev) {
+		return -EBUSY;
+	}
+
 	netif_stop_queue(netdev);
 	/* Herbert's original patch had:
 	 *  smp_mb__after_netif_stop_queue();
diff -r 4f97d61a8671 -r fc64a4b1ec1a devices/e1000/e1000_main-2.6.29-ethercat.c
--- a/devices/e1000/e1000_main-2.6.29-ethercat.c	Wed Dec 05 11:32:45 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.29-ethercat.c	Wed Dec 05 11:47:07 2012 +0100
@@ -3214,6 +3214,10 @@
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
 
+	if (adapter->ecdev) {
+		return -EBUSY;
+	}
+
 	netif_stop_queue(netdev);
 	/* Herbert's original patch had:
 	 *  smp_mb__after_netif_stop_queue();
diff -r 4f97d61a8671 -r fc64a4b1ec1a devices/e1000/e1000_main-2.6.31-ethercat.c
--- a/devices/e1000/e1000_main-2.6.31-ethercat.c	Wed Dec 05 11:32:45 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.31-ethercat.c	Wed Dec 05 11:47:07 2012 +0100
@@ -3262,6 +3262,10 @@
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
 
+	if (adapter->ecdev) {
+		return -EBUSY;
+	}
+
 	netif_stop_queue(netdev);
 	/* Herbert's original patch had:
 	 *  smp_mb__after_netif_stop_queue();
diff -r 4f97d61a8671 -r fc64a4b1ec1a devices/e1000/e1000_main-2.6.32-ethercat.c
--- a/devices/e1000/e1000_main-2.6.32-ethercat.c	Wed Dec 05 11:32:45 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.32-ethercat.c	Wed Dec 05 11:47:07 2012 +0100
@@ -2951,6 +2951,10 @@
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
 
+	if (adapter->ecdev) {
+		return -EBUSY;
+	}
+
 	netif_stop_queue(netdev);
 	/* Herbert's original patch had:
 	 *  smp_mb__after_netif_stop_queue();
diff -r 4f97d61a8671 -r fc64a4b1ec1a devices/e1000/e1000_main-2.6.33-ethercat.c
--- a/devices/e1000/e1000_main-2.6.33-ethercat.c	Wed Dec 05 11:32:45 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.33-ethercat.c	Wed Dec 05 11:47:07 2012 +0100
@@ -2975,6 +2975,10 @@
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
 
+	if (adapter->ecdev) {
+		return -EBUSY;
+	}
+
 	netif_stop_queue(netdev);
 	/* Herbert's original patch had:
 	 *  smp_mb__after_netif_stop_queue();
diff -r 4f97d61a8671 -r fc64a4b1ec1a devices/e1000/e1000_main-2.6.35-ethercat.c
--- a/devices/e1000/e1000_main-2.6.35-ethercat.c	Wed Dec 05 11:32:45 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.35-ethercat.c	Wed Dec 05 11:47:07 2012 +0100
@@ -2989,6 +2989,11 @@
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
 
+	if (adapter->ecdev) {
+		return -EBUSY;
+	}
+
+
 	netif_stop_queue(netdev);
 	/* Herbert's original patch had:
 	 *  smp_mb__after_netif_stop_queue();
diff -r 4f97d61a8671 -r fc64a4b1ec1a devices/e1000/e1000_main-2.6.37-ethercat.c
--- a/devices/e1000/e1000_main-2.6.37-ethercat.c	Wed Dec 05 11:32:45 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.37-ethercat.c	Wed Dec 05 11:47:07 2012 +0100
@@ -3075,6 +3075,10 @@
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
 
+	if (adapter->ecdev) {
+		return -EBUSY;
+	}
+
 	netif_stop_queue(netdev);
 	/* Herbert's original patch had:
 	 *  smp_mb__after_netif_stop_queue();
diff -r 4f97d61a8671 -r fc64a4b1ec1a devices/e1000/e1000_main-3.0-ethercat.c
--- a/devices/e1000/e1000_main-3.0-ethercat.c	Wed Dec 05 11:32:45 2012 +0100
+++ b/devices/e1000/e1000_main-3.0-ethercat.c	Wed Dec 05 11:47:07 2012 +0100
@@ -3106,6 +3106,10 @@
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
 
+	if (adapter->ecdev) {
+		return -EBUSY;
+	}
+
 	netif_stop_queue(netdev);
 	/* Herbert's original patch had:
 	 *  smp_mb__after_netif_stop_queue();