diff -r af21f0bdc7c9 -r 2b9c78543663 devices/r8169-3.2-ethercat.c --- a/devices/r8169-3.2-ethercat.c Thu Sep 06 14:21:02 2012 +0200 +++ b/devices/r8169-3.2-ethercat.c Mon Nov 03 15:20:05 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: