merge -c1371 trunk: Reduced watchdog executions in e1000.
--- 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