netdev
[Top] [All Lists]

mv643xx(19/20): Ensure NAPI poll routine only clears IRQs it handles

To: Netdev <netdev@xxxxxxxxxxx>, Jeff Garzik <jgarzik@xxxxxxxxx>
Subject: mv643xx(19/20): Ensure NAPI poll routine only clears IRQs it handles
From: "Dale Farnsworth" <dale@xxxxxxxxxxxxxx>
Date: Mon, 28 Mar 2005 17:00:24 -0700
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>, Manish Lachwani <mlachwani@xxxxxxxxxx>, Brian Waite <brian@xxxxxxxxxxxxxx>, "Steven J. Hill" <sjhill@xxxxxxxxxxxxxxxxxx>, Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>, James Chapman <jchapman@xxxxxxxxxxx>
In-reply-to: <20050328233807.GA28423@xyzzy>
References: <20050328233807.GA28423@xyzzy>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.6+20040907i
Signed-off-by: Dale Farnsworth <dale@xxxxxxxxxxxxxx>

Index: linux-2.5-enet/drivers/net/mv643xx_eth.c
===================================================================
--- linux-2.5-enet.orig/drivers/net/mv643xx_eth.c
+++ linux-2.5-enet/drivers/net/mv643xx_eth.c
@@ -1635,9 +1635,9 @@
 
        if (done) {
                spin_lock_irqsave(&mp->lock, flags);
+               mv643xx_eth_write(MV643XX_ETH_INTERRUPT_CAUSE_REG(port_num),
+                                 ~0x0007fffd);
                __netif_rx_complete(dev);
-               mv643xx_eth_write(MV643XX_ETH_INTERRUPT_CAUSE_REG(port_num), 0);
-               
mv643xx_eth_write(MV643XX_ETH_INTERRUPT_CAUSE_EXTEND_REG(port_num), 0);
                mv643xx_eth_write(MV643XX_ETH_INTERRUPT_MASK_REG(port_num),
                                  INT_CAUSE_UNMASK_ALL);
                
mv643xx_eth_write(MV643XX_ETH_INTERRUPT_EXTEND_MASK_REG(port_num),

<Prev in Thread] Current Thread [Next in Thread>