patch-2.2.15 linux/drivers/net/rtl8139.c

Next file: linux/drivers/net/sbni.c
Previous file: linux/drivers/net/rcpci45.c
Back to the patch index
Back to the overall index

diff -u --new-file --recursive --exclude-from ../../exclude v2.2.14/drivers/net/rtl8139.c linux/drivers/net/rtl8139.c
@@ -1136,6 +1136,15 @@
 
 			if (status & (PCSTimeout)) tp->stats.rx_length_errors++;
 			if (status & (RxUnderrun|RxFIFOOver)) tp->stats.rx_fifo_errors++;
+
+			if (status & RxFIFOOver) {
+				tp->cur_rx = 0;
+				outb(CmdTxEnb, ioaddr + ChipCmd);
+				outb(CmdRxEnb | CmdTxEnb, ioaddr + ChipCmd);
+				outl((RX_FIFO_THRESH << 13) | (RX_BUF_LEN_IDX << 11) |
+				 (RX_DMA_BURST<<8), ioaddr + RxConfig);
+			}
+
 			if (status & RxOverflow) {
 				tp->stats.rx_over_errors++;
 				tp->cur_rx = inw(ioaddr + RxBufAddr) % RX_BUF_LEN;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)