netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] mv643xx fixes - Disable interrupts on all ports during initialization
@ 2006-06-27 14:51 Brent Cook
  2006-06-27 15:16 ` John Haller
  2006-06-30 16:20 ` Jeff Garzik
  0 siblings, 2 replies; 5+ messages in thread
From: Brent Cook @ 2006-06-27 14:51 UTC (permalink / raw)
  To: netdev


This patch disable interrupts on all ports during initialization. The current 
assumes that the firmware has already disabled all interrupts on all ports. 
We have encountered some boards that do not always disable interrupts (XES 
XPedite 6200 for instance) on a soft reset. This patch prevents a kernel 
panic if a packet is received before the DMA ring buffers are setup for a 
port on which interrupts are left enabled by the firmware.

Signed-off-by: Brent Cook <bcook@bpointsys.com>

Index: linux-2.6-bps/drivers/net/mv643xx_eth.c
===================================================================
--- linux-2.6-bps/drivers/net/mv643xx_eth.c	(revision 100)
+++ linux-2.6-bps/drivers/net/mv643xx_eth.c	(revision 101)
@@ -777,6 +777,13 @@
 	unsigned int size;
 	int err;
 
+	/* Mask all interrupts on ethernet port */
+	mv_write(MV643XX_ETH_INTERRUPT_MASK_REG(port_num),
+		 ETH_INT_MASK_ALL);
+	/* wait for previous write to complete */
+	mv_read(MV643XX_ETH_INTERRUPT_MASK_REG(port_num));
+
 	err = request_irq(dev->irq, mv643xx_eth_int_handler,
 			SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev);
 	if (err) {

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-07-03 18:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-27 14:51 [PATCH 1/3] mv643xx fixes - Disable interrupts on all ports during initialization Brent Cook
2006-06-27 15:16 ` John Haller
2006-06-27 16:09   ` Nathaniel Case
2006-06-30 16:20 ` Jeff Garzik
2006-07-03 18:11   ` Brent Cook

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).