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