devices/r8169-2.6.24-ethercat.c
changeset 1376 6b51a2201d41
parent 1353 22b1de4c74e4
child 2251 5023ce75fe91
--- a/devices/r8169-2.6.24-ethercat.c	Thu Mar 19 08:46:45 2009 +0000
+++ b/devices/r8169-2.6.24-ethercat.c	Wed Apr 01 08:03:08 2009 +0000
@@ -2991,7 +2991,16 @@
 			rtl8169_check_link_status(dev, tp, ioaddr);
 
 #ifdef CONFIG_R8169_NAPI
-		if (!tp->ecdev && (status & tp->napi_event)) {
+		if (tp->ecdev) {
+			/* Rx interrupt */
+			if (status & (RxOK | RxOverflow | RxFIFOOver))
+				rtl8169_rx_interrupt(dev, tp, ioaddr, ~(u32)0);
+
+			/* Tx interrupt */
+			if (status & (TxOK | TxErr))
+				rtl8169_tx_interrupt(dev, tp, ioaddr);
+			
+		} else if (status & tp->napi_event) {
 			RTL_W16(IntrMask, tp->intr_event & ~tp->napi_event);
 			tp->intr_mask = ~tp->napi_event;