public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH][2.6-test6-mm4]8139too poll controller
@ 2003-10-06 21:15 Thomas Elsen
  0 siblings, 0 replies; only message in thread
From: Thomas Elsen @ 2003-10-06 21:15 UTC (permalink / raw)
  To: rjwalsh, wangdi, akpm; +Cc: linux-kernel

This patch adds poll-controller functionality to the 8139too driver. It has 
been tested with kgdb-over-ethernet.

Thomas


--- 8139too.c.orig	2003-10-06 22:56:03.000000000 +0200
+++ 8139too.c	2003-10-06 22:48:08.000000000 +0200
@@ -618,6 +618,10 @@
 static void rtl8139_hw_start (struct net_device *dev);
 static struct ethtool_ops rtl8139_ethtool_ops;

+#ifdef CONFIG_NET_POLL_CONTROLLER
+static void rtl8139_rx_poll (struct net_device *dev);
+#endif
+
 #ifdef USE_IO_OPS

 #define RTL_R8(reg)		inb (((unsigned long)ioaddr) + (reg))
@@ -970,6 +974,10 @@
 	dev->tx_timeout = rtl8139_tx_timeout;
 	dev->watchdog_timeo = TX_TIMEOUT;

+#ifdef CONFIG_NET_POLL_CONTROLLER
+	dev->poll_controller = rtl8139_rx_poll;
+#endif
+
 	/* note: the hardware is not capable of sg/csum/highdma, however
 	 * through the use of skb_copy_and_csum_dev we enable these
 	 * features
@@ -2388,6 +2396,15 @@
 	return &tp->stats;
 }

+#ifdef CONFIG_NET_POLL_CONTROLLER
+static void rtl8139_rx_poll (struct net_device *dev)
+{
+	disable_irq(dev->irq);
+	rtl8139_interrupt(dev->irq, (void *)dev, 0);
+	enable_irq(dev->irq);
+}
+#endif
+
 /* Set or clear the multicast filter for this adaptor.
    This routine is not state sensitive and need not be SMP locked. */
 


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-10-06 21:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-10-06 21:15 [PATCH][2.6-test6-mm4]8139too poll controller Thomas Elsen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox