[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20070526224120.GA4476@electric-eye.fr.zoreil.com>
Date: Sun, 27 May 2007 00:41:20 +0200
From: Francois Romieu <romieu@...zoreil.com>
To: Emmanuel Fusté <emmanuel.fuste@...oste.net>
Cc: tsbogend <tsbogend@...ha.franken.de>,
pcnet32 <pcnet32@...izon.net>, netdev <netdev@...r.kernel.org>
Subject: Re: [PCNET32] Lock solid with netconsole
Emmanuel Fusté <emmanuel.fuste@...oste.net> :
[...]
> Just to let you know that I swap my pcnet32 with a via-rhine
> and I no longer experienced hard machine lock after loading
> netconsole.
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;
}
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists