Re: [PATCH] RTL 8139 oops cured

From: Shane Shrybman (shane@zeke.yi.org)
Date: Sun Oct 15 2000 - 10:42:54 EST


On Sun, 15 Oct 2000 tori@tellus.mine.nu wrote:

> Hi!
>
> Instead of checking all possible error bits, the RxStatusOK bit should be
> checked. I encounter rx_status==0 when I stress my P90, which gives a
> negative packet size (-4), and an oops in eth_copy_and_sum.
>
> Applies to 2.4.0-test10-pre2...
>
> /Tobias

I applied these changes to 2.4.0-test10-pre3 and I got these messages in
the system log:

Oct 15 11:24:05 mars kernel: __alloc_pages: 5-order allocation failed.
Oct 15 11:24:05 mars kernel: eth0: Memory squeeze, dropping packet.
Oct 15 11:24:05 mars kernel: __alloc_pages: 5-order allocation failed.
Oct 15 11:24:05 mars kernel: eth0: Memory squeeze, dropping packet.
Oct 15 11:24:05 mars kernel: __alloc_pages: 5-order allocation failed.
Oct 15 11:24:05 mars kernel: eth0: Memory squeeze, dropping packet.

And then a spontaneous reboot. :( Which is what I have been
seeing with this driver for a while.

shane

>
> --- 8139too.c.orig Sun Oct 15 01:49:47 2000
> +++ 8139too.c Sun Oct 15 03:22:46 2000
> @@ -1736,8 +1736,7 @@
> /* if Rx err received, Rx process gets reset, so
> * we abort any further Rx processing
> */
> - if (rx_status &
> - (RxBadSymbol | RxRunt | RxTooLong | RxCRCErr | RxBadAlign)) {
> + if (!(rx_status & RxStatusOK)) {
> rtl8139_rx_err (rx_status, dev, tp, ioaddr);
> return;
> }

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



This archive was generated by hypermail 2b29 : Sun Oct 15 2000 - 21:00:28 EST