[PATCH 4/5] 2.4.27-pre3 pcnet32 fix boundary comparison bug.
From: Don Fry <hidden>
Date: 2004-05-21 20:58:31
From: Don Fry <hidden>
Date: 2004-05-21 20:58:31
This patch fixes a boundary condition. It is possible to get an interrupt and have the transmit queue completely full. Without this the driver will leak skb's and pci maps (if the arch supports them).
--- linux-2.4.27-pre3/drivers/net/pro.pcnet32.c Fri May 21 12:37:05 2004
+++ linux-2.4.27-pre3/drivers/net/pcnet32.c Fri May 21 12:37:14 2004@@ -1832,7 +1832,7 @@ } delta = (lp->cur_tx - dirty_tx) & (TX_RING_MOD_MASK + TX_RING_SIZE); - if (delta >= TX_RING_SIZE) { + if (delta > TX_RING_SIZE) { if (netif_msg_drv(lp)) printk(KERN_ERR "%s: out-of-sync dirty pointer, %d vs. %d, full=%d.\n", dev->name, dirty_tx, lp->cur_tx, lp->tx_full);
--
Don Fry
brazilnut@us.ibm.com