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