drivers/ec_device.c
branchkernel2.6
changeset 22 e8c2cd004e0b
parent 19 a51289e6cb2d
child 23 39364fbcd069
--- 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);
+    }
 }
 
 /***************************************************************/