Linux-kernel mailing list archive 2000-06,: Fix for eepro100 Tx timeouts?

# Fix for eepro100 Tx timeouts?

Trond Myklebust (trond.myklebust@fys.uio.no)
Wed, 9 Feb 2000 20:41:14 +0100 (CET)

- Messages sorted by: [ date ][ thread ][ subject ][ author ]
- Next message: Theodore Y. Ts'o: "Re: 2.4 Features"
- Previous message: (no name): "Re: clock changes abruptly during bootup"

Hi Linus,

The following patch seems to fix the problem of Tx timeouts under
heavy NFS writes for the eepro100 driver under Linux-2.3.42 (and
previous 2.3.x drivers).

A comparison with the equivalent driver under linux-2.2.x revealed
that the line which clears the Interrupt bit and Suspend bit has been
replaced with something that only clears the Suspend bit. This is
presumably preventing the scavenging of the Tx ring (if I read Donald's
notes correctly?) and preventing the clearing of the
tx_full/dev->tbusy pair.

Anyhow, on the scale of works/doesn't work, the 2.2.x-like behaviour
is definitely preferable on my setup...

Cheers,
Trond

--- trondmy/linux-2.3/drivers/net/eepro100.c Mon Nov 15 14:56:29 1999
+++ tmp/linux-2.3/drivers/net/eepro100.c Wed Feb 9 20:18:13 2000
@@ -1255,7 +1255,7 @@
{
struct descriptor *last_cmd = sp->last_cmd;
sp->last_cmd = (struct descriptor *)&sp->tx_ring[entry];
- clear_suspend(last_cmd);
+ last_cmd->cmd_status &= cpu_to_le32(~(CmdSuspend | CmdIntr));
}
if (sp->cur_tx - sp->dirty_tx >= TX_QUEUE_LIMIT)
sp->tx_full = 1;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

- Next message: Theodore Y. Ts'o: "Re: 2.4 Features"
- Previous message: (no name): "Re: clock changes abruptly during bootup"