--- 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;
}