diff -r 092ac0fa23fe -r acdd1f9ef7ab devices/8139too-2.6.18-ethercat.c --- a/devices/8139too-2.6.18-ethercat.c Fri Jan 12 12:50:52 2007 +0000 +++ b/devices/8139too-2.6.18-ethercat.c Fri Jan 12 14:28:33 2007 +0000 @@ -710,6 +710,9 @@ #ifdef CONFIG_NET_POLL_CONTROLLER static void rtl8139_poll_controller(struct net_device *dev); #endif +/* EtherCAT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/ +void ec_poll(struct net_device *); +/* EtherCAT <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ irqreturn_t rtl8139_interrupt (int irq, void *dev_instance, struct pt_regs *regs); static int rtl8139_close (struct net_device *dev); @@ -2349,6 +2352,15 @@ return !done; } +/* EtherCAT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/ + +void ec_poll(struct net_device *dev) +{ + rtl8139_interrupt(0, dev, NULL); +} + +/* EtherCAT <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ + /* The interrupt handler does all of the Rx thread work and cleans up after the Tx thread. */ irqreturn_t rtl8139_interrupt (int irq, void *dev_instance, @@ -2906,7 +2918,7 @@ if (rtl_ec_net_dev) { printk(KERN_INFO "Registering EtherCAT device...\n"); if (!(rtl_ec_dev = ecdev_register(ec_device_master_index, - rtl_ec_net_dev, rtl8139_interrupt, THIS_MODULE))) { + rtl_ec_net_dev, ec_poll, THIS_MODULE))) { printk(KERN_ERR "Failed to register EtherCAT device!\n"); goto out_pci; }