Re: Sun GEM card looses TX on x86 32bit PCI

David S. Miller (davem@redhat.com)
Tue, 12 Mar 2002 09:31:34 -0800 (PST)


From: Beezly <beezly@beezly.org.uk>
Date: 11 Mar 2002 22:51:42 +0000

Ok, I've been fiddling around with the driver tonight and have managed
to get a little further by forcing the driver to do a full reset of the
chip when the RX buffer over flows. I achieved this by sticking a return
1; at the top of gem_rxmac_reset().

I'm guessing this isn't an "optimal" reset for the situation but so far
it's having /reasonable/ results (i.e. I don't have to bring the
interface up and down every 30 seconds!).
...
Hope this helps,

I'll follow up on this and figure out why my RX reset code
isn't working after I finish up some 2.5.x work.

But looking quickly I think I see what is wrong. Please give
this a try (and remember to remove your hacks before testing
this :-):

--- drivers/net/sungem.c.~1~ Mon Mar 11 04:24:13 2002
+++ drivers/net/sungem.c Tue Mar 12 09:30:38 2002
@@ -357,6 +357,7 @@ static int gem_rxmac_reset(struct gem *g

rxd->status_word = cpu_to_le64(RXDCTRL_FRESH(gp));
}
+ gp->rx_new = gp->rx_old = 0;

/* Now we must reprogram the rest of RX unit. */
desc_dma = (u64) gp->gblock_dvma;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/