--- a/devices/e1000/e1000_main-2.6.37-ethercat.c Wed Dec 05 10:22:43 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.37-ethercat.c Wed Dec 05 11:28:29 2012 +0100
@@ -1356,7 +1356,9 @@
if (test_bit(__E1000_TESTING, &adapter->flags))
return -EBUSY;
- netif_carrier_off(netdev);
+ if (!adapter->ecdev) {
+ netif_carrier_off(netdev);
+ }
/* allocate transmit descriptors */
err = e1000_setup_all_tx_resources(adapter);
@@ -1389,11 +1391,13 @@
/* From here on the code is the same as e1000_up() */
clear_bit(__E1000_DOWN, &adapter->flags);
- napi_enable(&adapter->napi);
-
- e1000_irq_enable(adapter);
-
- netif_start_queue(netdev);
+ if (!adapter->ecdev) {
+ napi_enable(&adapter->napi);
+
+ e1000_irq_enable(adapter);
+
+ netif_start_queue(netdev);
+ }
/* fire a link status change interrupt to start the watchdog */
ew32(ICS, E1000_ICS_LSC);