From d515b68dc1e6cadb2544c9bc9c6b9378bf7ce1e7 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Mon, 28 Jul 2008 08:00:35 +0000 Subject: [PATCH] No need to call e1000 watchdog when frames are received (thanks to O. Zarges). --- devices/e1000/e1000_main-2.6.13-ethercat.c | 5 +++++ devices/e1000/e1000_main-2.6.18-ethercat.c | 5 +++++ devices/e1000/e1000_main-2.6.20-ethercat.c | 4 ++++ devices/e1000/e1000_main-2.6.22-ethercat.c | 4 ++++ devices/e1000/e1000_main-2.6.24-ethercat.c | 4 ++++ 5 files changed, 22 insertions(+) diff --git a/devices/e1000/e1000_main-2.6.13-ethercat.c b/devices/e1000/e1000_main-2.6.13-ethercat.c index 8d5e0fc0..1ab075ab 100644 --- a/devices/e1000/e1000_main-2.6.13-ethercat.c +++ b/devices/e1000/e1000_main-2.6.13-ethercat.c @@ -3009,6 +3009,11 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter) 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)) { diff --git a/devices/e1000/e1000_main-2.6.18-ethercat.c b/devices/e1000/e1000_main-2.6.18-ethercat.c index 4aebdf51..64175776 100644 --- a/devices/e1000/e1000_main-2.6.18-ethercat.c +++ b/devices/e1000/e1000_main-2.6.18-ethercat.c @@ -3814,6 +3814,11 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter, 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)) { diff --git a/devices/e1000/e1000_main-2.6.20-ethercat.c b/devices/e1000/e1000_main-2.6.20-ethercat.c index 488f9d30..698ce609 100644 --- a/devices/e1000/e1000_main-2.6.20-ethercat.c +++ b/devices/e1000/e1000_main-2.6.20-ethercat.c @@ -4395,6 +4395,10 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter, 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 diff --git a/devices/e1000/e1000_main-2.6.22-ethercat.c b/devices/e1000/e1000_main-2.6.22-ethercat.c index 5c835772..5a7b536e 100644 --- a/devices/e1000/e1000_main-2.6.22-ethercat.c +++ b/devices/e1000/e1000_main-2.6.22-ethercat.c @@ -4358,6 +4358,10 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter, 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 diff --git a/devices/e1000/e1000_main-2.6.24-ethercat.c b/devices/e1000/e1000_main-2.6.24-ethercat.c index 28e780de..c5ae603f 100644 --- a/devices/e1000/e1000_main-2.6.24-ethercat.c +++ b/devices/e1000/e1000_main-2.6.24-ethercat.c @@ -4346,6 +4346,10 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter, 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