Too much work at interrupt?

James Stevens James.Stevens@jrcs.co.uk
Wed Oct 28 04:30:20 1998


Chris Sterling wrote:
> 
> kernel: eth0: Too much work at interrupt, status=0x4050

...Before you read this e-mail accept that I did not write the driver
and I my be wrong in what I say, but I am doing my best to help...

I can tell you what this means if it is any help.

When the card pulls an interupt the eepro driver will service any jobs
the card wants done (e.g. Rx any waiting packets) not just the first
one. However, to try and prevent the driver from going into a infinite
loop the driver has a hard coded limit on the number of waiting requests
that it will service per interupt.

This error message means that you have exceeded the maximum number of
waiting requests on the card for the one interupt. You could probably
safely increase the limit a bit without causing too much trouble.

At line 40 in 1.03 of the driver you will find the lines :-

/* Maximum events (Rx packets, etc.) to handle at each interrupt. */
static int max_interrupt_work = 20;

increase the 20 and see how it goes.

James