[LinuxBIOS] eth1: Too much work at interrupt, IntrStatus=0x0001.

Dave Ashley linuxbios at xdr.com
Thu Sep 15 23:36:50 CEST 2005


We've got epia-sp almost into linux fully, but RTL8139 (eth1) or the
VIA 3065 (eth0) don't work properly.

Interrupts are occuring as expected on ethernet packets. We're trying to
work with the RTL8139 for now which is a card plugged into the epia-sp.
It's able to act as a pci bus master. I suspect something about the PCI
isn't working, like the card isn't able to dma into host memory or
something similiar.

Inside linux drivers/net/8139too.c inside function rtl8139_rx_interrupt
		if ((rx_size > (MAX_ETH_FRAME_SIZE+4)) ||
		    (rx_size < 8) ||
		    (!(rx_status & RxStatusOK))) {
			rtl8139_rx_err (rx_status, dev, tp, ioaddr);
printk("here2 rx_size = %d\n", rx_size); // (DA)
			return;
		}

The interrupt service routine is exiting because rx_size is always 0. This
is the size of the received packet I think.

A similiar problem is occuring in the 3065 ethernet. We're failing to do
something within linuxbios that's preventing pci devices from functioning
properly.

Does anyone have any suggestions? I'm hoping these symptoms are familiar.

Thanks--
Dave




More information about the coreboot mailing list