diff -r ec912b010528 -r e8c2cd004e0b drivers/ec_device.c --- a/drivers/ec_device.c Fri Nov 25 10:16:50 2005 +0000 +++ b/drivers/ec_device.c Fri Nov 25 14:52:34 2005 +0000 @@ -17,7 +17,8 @@ #include "ec_device.h" #include "ec_dbg.h" -extern void rtl8139_interrupt(int, void *, struct pt_regs *); +extern irqreturn_t rtl8139_interrupt(int, void *, struct pt_regs *); +extern int rtl8139_poll(struct net_device *, int *); /***************************************************************/ @@ -291,7 +292,18 @@ void EtherCAT_device_call_isr(EtherCAT_device_t *ecd) { - rtl8139_interrupt(0, ecd->dev, NULL); + int budget; + + budget = 1; /* Einen Frame empfangen */ + + rtl8139_interrupt(0, ecd->dev, NULL); + rtl8139_poll(ecd->dev, &budget); + + if (budget != 0) + { + EC_DBG(KERN_ERR "EtherCAT: Warning - Budget is %d!\n", + budget); + } } /***************************************************************/