diff -r b2aee2241952 -r 04552130dd54 devices/8139too-2.6.17-ethercat.c --- a/devices/8139too-2.6.17-ethercat.c Fri Nov 24 11:09:36 2006 +0000 +++ b/devices/8139too-2.6.17-ethercat.c Fri Dec 08 11:39:56 2006 +0000 @@ -2905,12 +2905,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: @@ -2927,7 +2939,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; }