Re: 3c59x fails to work in 2.0.30

Aaron M. Ucko (amu@mit.edu)
19 Apr 1997 13:01:44 -0400


"David S. Miller" <davem@jenolan.rutgers.edu> writes:

> So, because v0.30 is the only version of the driver which works for
> you under 2.0.29 I should hold out on putting v0.40 into 2.0.31 until
> you find out why it doesn't work on your 2.0.29 system? If you're not
> willing to find out what the situation is with a 2.0.30 kernel, I'm
> going to put v0.40 into my patch sets for 2.0.31 since that is what
> all the stunning success reports for 2.0.30 are for, and that is what
> I must work on, reports from people using the driver under 2.0.30.

Well, I still haven't tried 2.0.30, but I found that disabling
busmastering transmissions made 0.40 work on my system, even though
that version is supposed to fall back to PIO when busmastering fails.
It might therefore be reasonable to sacrifice performance for
stability and apply this patch before adding the driver to the kernel:

--- 3c59x.c 1997/04/17 04:13:13 1.5
+++ 3c59x.c 1997/04/19 16:50:30
@@ -722,7 +722,7 @@
vp->info2 = eeprom[15];
vp->capabilities = eeprom[16];
if (vp->capabilities & 0x20) {
- vp->full_bus_master_tx = 1;
+ vp->full_bus_master_tx = 0;
if (vp->info2 & 1) {
printk(" Rx Pacing bug fixed, enabling bus-master receives.\n");
vp->full_bus_master_rx = 1;

-- 
Aaron M. Ucko (amu@mit.edu) | For Geek Code, PGP public key, and other info,
finger amu@monk.mit.edu. | "Kids! Bringing about Armageddon can be dangerous.
Do not attempt it in your home." -- T. Pratchett & N. Gaiman, _Good Omens_