diff -r d94281cb835a -r 87e502828b3f devices/r8169-2.6.37-ethercat.c --- a/devices/r8169-2.6.37-ethercat.c Mon Oct 27 14:55:50 2014 +0100 +++ b/devices/r8169-2.6.37-ethercat.c Mon Oct 27 16:33:23 2014 +0100 @@ -3256,15 +3256,17 @@ if (pci_dev_run_wake(pdev)) pm_runtime_put_noidle(&pdev->dev); - if (!tp->ecdev) { + if (tp->ecdev) { + rc = ecdev_open(tp->ecdev); + if (rc) { + ecdev_withdraw(tp->ecdev); + goto err_out_msi_4; + } + } + else { netif_carrier_off(dev); } - if (tp->ecdev && ecdev_open(tp->ecdev)) { - ecdev_withdraw(tp->ecdev); - goto err_out_msi_4; - } - out: return rc;