devices/r8169-2.6.36-ethercat.c
branchstable-1.5
changeset 2582 87e502828b3f
parent 2421 bc2d4bf9cbe5
--- a/devices/r8169-2.6.36-ethercat.c	Mon Oct 27 14:55:50 2014 +0100
+++ b/devices/r8169-2.6.36-ethercat.c	Mon Oct 27 16:33:23 2014 +0100
@@ -3239,15 +3239,18 @@
 		RTL_W16(CPlusCmd, RTL_R16(CPlusCmd) | RxVlan);
 
 	device_set_wakeup_enable(&pdev->dev, tp->features & RTL_FEATURE_WOL);
-	if (tp->ecdev && ecdev_open(tp->ecdev)) {
-		ecdev_withdraw(tp->ecdev);
-		goto err_out_msi_4;
-	}
-
-	if(!tp->ecdev) {
-		if (pci_dev_run_wake(pdev))
-			pm_runtime_put_noidle(&pdev->dev);
-	}
+
+	if (pci_dev_run_wake(pdev))
+		pm_runtime_put_noidle(&pdev->dev);
+
+	if (tp->ecdev) {
+		rc = ecdev_open(tp->ecdev);
+		if (rc) {
+			ecdev_withdraw(tp->ecdev);
+			goto err_out_msi_4;
+		}
+	}
+
 out:
 	return rc;