On Mon, May 28, 2007 at 05:25:51PM +0200, Emmanuel Fust? wrote: > > Any difference if you disable the debug messages in the pcnet32 > > driver and you apply the patch below ? > > > > diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c > > index 9c171a7..be4513f 100644 > > --- a/drivers/net/pcnet32.c > > +++ b/drivers/net/pcnet32.c > > @@ -2556,11 +2556,12 @@ pcnet32_interrupt(int irq, void *dev_id) > > unsigned long ioaddr; > > u16 csr0; > > int boguscnt = max_interrupt_work; > > + unsigned long flags; > > > > ioaddr = dev->base_addr; > > lp = netdev_priv(dev); > > > > - spin_lock(&lp->lock); > > + spin_lock_irqsave(&lp->lock, flags); > > > > csr0 = lp->a.read_csr(ioaddr, CSR0); > > while ((csr0 & 0x8f00) && --boguscnt >= 0) { > > @@ -2632,7 +2633,7 @@ pcnet32_interrupt(int irq, void *dev_id) > > printk(KERN_DEBUG "%s: exiting interrupt, csr0=%#4.4x.\n", > > dev->name, lp->a.read_csr(ioaddr, CSR0)); > > > > - spin_unlock(&lp->lock); > > + spin_unlock_irqrestore(&lp->lock, flags); > > > > return IRQ_HANDLED; > > } > > > Hi, > Tested under very high console activity and it no longer freeze.
Hmm, I have been seeing lockups too and asked about doing something almost exactly the same as this recently, but was told that it shouldn't need irqs disabled at this point. Well if it makes netconsole more stable, I think I will try adding it to and see if it makes the problems go away for good (my problem only happens at random and can be days between it happening). -- Len Sorensen - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html