[realtek] Abnormal interrupts

Donald Becker becker@scyld.com
Fri Nov 30 14:14:07 2001

On 29 Nov 2001, Richard Wallace wrote:

> I have a server with a realtek8139 network adapter running debian 2.2r3
> and kernel 2.2.19pre17 using the 8139too driver.
> They have been receiving messages like the following pretty regularly:
> Nov 29 10:21:55 cm-server kernel: eth0: Abnormal interrupt, status
> 00000002.
> Nov 29 10:24:17 cm-server kernel: eth0: Abnormal interrupt, status
> 00000002.

Assuming that this section of code is unchanged from my original
rtl8139.c source, this message means that you have the debug level set
higher than the default.
  A ....0002 error means that you have received a packet with an error.
  A ....0040 error means that the you had an Rx FIFO overrun.

The latter error is unusual.  You can change the FIFO operation by
modifying the following driver settings

/* The following settings are log_2(bytes)-4:  0 == 16 bytes .. 6==1024. */
#define RX_FIFO_THRESH	4	/* Rx buffer level before first PCI xfer.  */
#define RX_DMA_BURST	4	/* Maximum PCI burst, '4' is 256 bytes */
#define TX_DMA_BURST	4	/* Calculate as 16<<val. */

If you set the RX_FIFO_THRESH lower the chip will start a PCI transfer
earlier.  That might sound like a uniformly good thing, but that setting
will result in lower average PCI bus efficiency, which might cause other
devices to use more of the PCI bus

Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Second Generation Beowulf Clusters
Annapolis MD 21403			410-990-9993