patch-2.1.32 linux/drivers/net/de4x5.c

Next file: linux/drivers/net/shaper.c
Previous file: linux/drivers/net/cs89x0.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.31/linux/drivers/net/de4x5.c linux/drivers/net/de4x5.c
@@ -1359,8 +1359,9 @@
 	
     if (dev->interrupt)
       printk("%s: Re-entering the interrupt handler.\n", dev->name);
-	
+
     DISABLE_IRQs;                        /* Ensure non re-entrancy */
+    synchronize_irq();
     dev->interrupt = MASK_INTERRUPTS;
 	
     for (limit=0; limit<8; limit++) {
@@ -1389,13 +1390,11 @@
 		   dev->name, sts);
 	    return;
 	}
-if (sts & (STS_AIS | STS_UNF | STS_SE | STS_LNF | STS_RWT | STS_RU | STS_TJT))
-	printk("STS=%08x\n",sts);
     }
 
     /* Load the TX ring with any locally stored packets */
     if (!set_bit(0, (void *)&lp->cache.lock)) {
-	while (lp->cache.skb && !dev->tbusy && lp->tx_enable) {
+	if (lp->cache.skb && !dev->tbusy && lp->tx_enable) {
 	    de4x5_queue_pkt(de4x5_get_cache(dev), dev);
 	}
 	lp->cache.lock = 0;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov