lkml.org 
[lkml]   [2004]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: Lockup with 2.6.9-ac15 related to netconsole
On Fri, Dec 17, 2004 at 09:10:14AM -0000, Mark Broadbent wrote:
>
> Matt Mackall said:
> > On Thu, Dec 16, 2004 at 04:20:02PM -0000, Mark Broadbent wrote:
> >> Hi,
> >>
> >> I'm having problem using ethereal/tcpdump in conjunction with the
> >> netconsole (built as a module). If the netconsole is loaded and I try
> >> to launch tcpdump on the same interface as the netconsole is
> >> transmitting I get a hard lock-up. The following commands can
> >> consistently do this: # tcpdump -i eth0
> >> eth0: Promiscuous Mode Entered
> >> <... normal output ...>
> >> ^C
> >> # modprobe netconsole
> >> # tcpdump -i eth0
> >> eth0: Promiscuous Mode Entered
> >> <4>NMI Watchdog detected LOCKUP
> >
> > Joy. Can you try it on your other interface to see if it's
> > driver-specific?
>
> Tried using eth1 which is using the r8169 but it doesn't support polling.
> I also tried with 2.6.10-rc3-bk10 but it still doesn't support polling.
> Also it still locks up using eth0 (the tulip driver) with 2.6.10-rc3-bk10.

Please try the attached untested, uncompiled patch to add polling to
r8169:

Index: l/drivers/net/r8169.c
===================================================================
--- l.orig/drivers/net/r8169.c 2004-11-04 10:53:04.779520000 -0800
+++ l/drivers/net/r8169.c 2004-12-17 13:30:35.367771000 -0800
@@ -1120,6 +1120,9 @@
dev->weight = R8169_NAPI_WEIGHT;
printk(KERN_INFO PFX "NAPI enabled\n");
#endif
+#ifdef CONFIG_NET_POLL_CONTROLLER
+ dev->poll_controller = rtl8169_netpoll;
+#endif
tp->intr_mask = 0xffff;
tp->pci_dev = pdev;
tp->mmio_addr = ioaddr;
@@ -1839,6 +1842,15 @@
}
#endif

+#ifdef CONFIG_NET_POLL_CONTROLLER
+static void rtl8169_netpoll(struct net_device *dev)
+{
+ disable_irq(dev->irq);
+ rtl8169_interrupt(dev->irq, netdev, NULL);
+ enable_irq(dev->irq);
+}
+#endif
+
static int
rtl8169_close(struct net_device *dev)
{

--
Mathematics is the supreme nostalgia of our time.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:08    [W:0.077 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site