diff -r d94281cb835a -r 87e502828b3f devices/e1000e/netdev-3.2-ethercat.c --- a/devices/e1000e/netdev-3.2-ethercat.c Mon Oct 27 14:55:50 2014 +0100 +++ b/devices/e1000e/netdev-3.2-ethercat.c Mon Oct 27 16:33:23 2014 +0100 @@ -6360,11 +6360,12 @@ adapter->ecdev = ecdev_offer(netdev, ec_poll, THIS_MODULE); if (adapter->ecdev) { - adapter->ec_watchdog_jiffies = jiffies; - if (ecdev_open(adapter->ecdev)) { + err = ecdev_open(adapter->ecdev); + if (err) { ecdev_withdraw(adapter->ecdev); goto err_register; } + adapter->ec_watchdog_jiffies = jiffies; } else { strncpy(netdev->name, "eth%d", sizeof(netdev->name) - 1); err = register_netdev(netdev);