devices/8139too-2.6.13-ethercat.c
changeset 497 04552130dd54
parent 495 88c597598bbc
child 533 acdd1f9ef7ab
--- a/devices/8139too-2.6.13-ethercat.c	Fri Nov 24 11:09:36 2006 +0000
+++ b/devices/8139too-2.6.13-ethercat.c	Fri Dec 08 11:39:56 2006 +0000
@@ -2907,12 +2907,24 @@
 			printk(KERN_ERR "Failed to register EtherCAT device!\n");
 			goto out_pci;
 		}
+
+		printk(KERN_INFO "Opening EtherCAT device...\n");
+		if (ecdev_open(rtl_ec_dev)) {
+			printk(KERN_ERR "Failed to open EtherCAT device!\n");
+			goto out_unregister;
+		}
+
+		printk(KERN_INFO "EtherCAT device ready.\n");
 	} else {
 		printk(KERN_WARNING "No EtherCAT device registered!\n");
 	}
 
 	return 0;
 
+    out_unregister:
+	printk(KERN_INFO "Unregistering EtherCAT device...\n");
+	ecdev_unregister(ec_device_master_index, rtl_ec_dev);
+	rtl_ec_dev = NULL;
     out_pci:
 	pci_unregister_driver(&rtl8139_pci_driver);
     out_return:
@@ -2929,7 +2941,9 @@
 	printk(KERN_INFO "Cleaning up RTL8139-EtherCAT module...\n");
 
 	if (rtl_ec_net_dev) {
-		printk(KERN_INFO "Unregistering device...\n");
+		printk(KERN_INFO "Closing EtherCAT device...\n");
+		ecdev_close(rtl_ec_dev);
+		printk(KERN_INFO "Unregistering EtherCAT device...\n");
 		ecdev_unregister(ec_device_master_index, rtl_ec_dev);
 		rtl_ec_dev = NULL;
 	}