8139too poll controller
PATCH 1/1 8139too poll controller
This patch adds poll-controller functionality to the 8139too driver. It has been tested with kgdb-over-ethernet.
Thomas
8139too.c renamed from 8139too.c.orig +17 -0
@@ -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. */