merge -c1371 trunk: Reduced watchdog executions in e1000. stable-1.3
authorFlorian Pose <fp@igh-essen.com>
Mon, 28 Jul 2008 08:16:01 +0000
branchstable-1.3
changeset 1756 dbe4a4219aa5
parent 1755 18141b8631be
child 1757 c5757cebfaea
merge -c1371 trunk: Reduced watchdog executions in e1000.
NEWS
devices/e1000/e1000_main-2.6.13-ethercat.c
devices/e1000/e1000_main-2.6.18-ethercat.c
devices/e1000/e1000_main-2.6.20-ethercat.c
devices/e1000/e1000_main-2.6.22-ethercat.c
--- a/NEWS	Wed Apr 30 09:55:58 2008 +0000
+++ b/NEWS	Mon Jul 28 08:16:01 2008 +0000
@@ -8,6 +8,8 @@
 
 * Reading domain process data via sysfs.
 * Added e1000 driver for kernel 2.6.22.
+* Reduced watchdog function executions in e1000 drivers.
+* Fixed sync manager configuration problem for some slaves.
 
 -------------------------------------------------------------------------------
 
--- a/devices/e1000/e1000_main-2.6.13-ethercat.c	Wed Apr 30 09:55:58 2008 +0000
+++ b/devices/e1000/e1000_main-2.6.13-ethercat.c	Mon Jul 28 08:16:01 2008 +0000
@@ -3013,6 +3013,11 @@
 				  rx_desc->csum, skb);
 		if (adapter->ecdev) {
 			ecdev_receive(adapter->ecdev, skb->data, length);
+
+			// No need to detect link status as
+			// long as frames are received: Reset watchdog.
+			adapter->ec_watchdog_jiffies = jiffies;
+
 			skb_trim(skb, 0);
 
 			if(unlikely((i & ~(E1000_RX_BUFFER_WRITE - 1)) == i)) {
--- a/devices/e1000/e1000_main-2.6.18-ethercat.c	Wed Apr 30 09:55:58 2008 +0000
+++ b/devices/e1000/e1000_main-2.6.18-ethercat.c	Mon Jul 28 08:16:01 2008 +0000
@@ -3818,6 +3818,11 @@
 
 		if (adapter->ecdev) {
 			ecdev_receive(adapter->ecdev, skb->data, length);
+
+			// No need to detect link status as
+			// long as frames are received: Reset watchdog.
+			adapter->ec_watchdog_jiffies = jiffies;
+
 			skb_trim(skb, 0);
 
 			if(unlikely((i & ~(E1000_RX_BUFFER_WRITE - 1)) == i)) {
--- a/devices/e1000/e1000_main-2.6.20-ethercat.c	Wed Apr 30 09:55:58 2008 +0000
+++ b/devices/e1000/e1000_main-2.6.20-ethercat.c	Mon Jul 28 08:16:01 2008 +0000
@@ -4399,6 +4399,10 @@
 
 		if (adapter->ecdev) {
 			ecdev_receive(adapter->ecdev, skb->data, length);
+
+			// No need to detect link status as
+			// long as frames are received: Reset watchdog.
+			adapter->ec_watchdog_jiffies = jiffies;
 		} else {
 			skb->protocol = eth_type_trans(skb, netdev);
 #ifdef CONFIG_E1000_NAPI
--- a/devices/e1000/e1000_main-2.6.22-ethercat.c	Wed Apr 30 09:55:58 2008 +0000
+++ b/devices/e1000/e1000_main-2.6.22-ethercat.c	Mon Jul 28 08:16:01 2008 +0000
@@ -4362,6 +4362,10 @@
 
 		if (adapter->ecdev) {
 			ecdev_receive(adapter->ecdev, skb->data, length);
+
+			// No need to detect link status as
+			// long as frames are received: Reset watchdog.
+			adapter->ec_watchdog_jiffies = jiffies;
 		} else {
 			skb->protocol = eth_type_trans(skb, netdev);
 #ifdef CONFIG_E1000_NAPI