[PATCH 2.5] via-rhine 1.19-2.5: One more Rhine-I fix

Roger Luethi (rl@hellgate.ch)
Mon, 14 Jul 2003 22:05:20 +0200


This is a MIME-formatted message. If you see this text it means that your
E-mail software does not support MIME-formatted messages.

--=_courier-7610-1058213249-0001-2
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

This patch fixes another way the Rhine-I found to break down under load. It
should bring Rhine-I behavior on par with the Rhine-II.

Roger

--=_courier-7610-1058213249-0001-2
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="via-rhine-1.19-2.5.diff"

--- linux-2.5/drivers/net/via-rhine.c.org 2003-07-14 21:49:56.000000000 +0200
+++ linux-2.5/drivers/net/via-rhine.c 2003-07-14 21:50:09.000000000 +0200
@@ -122,11 +122,14 @@
- No filtering multicast in promisc mode (Edward Peng)
- Fix for Rhine-I Tx timeouts

+ LK1.1.19 (Roger Luethi)
+ - Increase Tx threshold for unspecified errors
+
*/

#define DRV_NAME "via-rhine"
-#define DRV_VERSION "1.1.18-2.5"
-#define DRV_RELDATE "July-4-2003"
+#define DRV_VERSION "1.1.19-2.5"
+#define DRV_RELDATE "July-12-2003"


/* A few user-configurable values.
@@ -1664,9 +1667,13 @@
}
if ((intr_status & IntrTxError) && ~( IntrTxAborted | IntrTxUnderrun |
IntrTxDescRace )) {
- if (debug > 2)
- printk(KERN_INFO "%s: Unspecified error.\n",
- dev->name);
+ if (np->tx_thresh < 0xE0) {
+ writeb(np->tx_thresh += 0x20, ioaddr + TxConfig);
+ }
+ if (debug > 1)
+ printk(KERN_INFO "%s: Unspecified error. Tx "
+ "threshold now %2.2x.\n",
+ dev->name, np->tx_thresh);
}
if (intr_status & ( IntrTxAborted | IntrTxUnderrun | IntrTxDescRace |
IntrTxError ))

--=_courier-7610-1058213249-0001-2--