From bf730b7ba0fda4b4e06cb9014411fe086628dec3 Mon Sep 17 00:00:00 2001
From: Florian Pose <fp@igh-essen.com>
Date: Mon, 17 Sep 2007 10:24:13 +0000
Subject: [PATCH] Send frame to debug-if and debug-ring only when transmitted
 successfully.

---
 master/device.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/master/device.c b/master/device.c
index 2b1ce7f2..aec5e53e 100644
--- a/master/device.c
+++ b/master/device.c
@@ -288,17 +288,17 @@ void ec_device_send(ec_device_t *device, /**< EtherCAT device */
         ec_print_data(skb->data + ETH_HLEN, size);
     }
 
+    // start sending
+    if (device->dev->hard_start_xmit(skb, device->dev) == NETDEV_TX_OK) {
+		device->tx_count++;
 #ifdef EC_DEBUG_IF
-    ec_debug_send(&device->dbg, skb->data, ETH_HLEN + size);
+		ec_debug_send(&device->dbg, skb->data, ETH_HLEN + size);
 #endif
 #ifdef EC_DEBUG_RING
-    ec_device_debug_ring_append(
-            device, TX, skb->data + ETH_HLEN, size);
+		ec_device_debug_ring_append(
+				device, TX, skb->data + ETH_HLEN, size);
 #endif
-
-    // start sending
-    device->dev->hard_start_xmit(skb, device->dev);
-    device->tx_count++;
+	}
 }
 
 /*****************************************************************************/
-- 
GitLab