Re: lockups with netconsole on e1000 on media insertion

Andi Kleen
2005-08-05T14:14:37Z

On Fri, Aug 05, 2005 at 10:10:13AM -0400, Steven Rostedt wrote:
> On Fri, 2005-08-05 at 15:55 +0200, Andi Kleen wrote:
> > > This is fixing the symptom and is not the cure. Unfortunately I don't
> > > have a e1000 card so I can't try a fix. But I did have a e100 card that
> > > would lock up the same way. The problem was that netpoll_poll calls the
> > > cards netpoll routine (in e1000_main.c e1000_netpoll). In the e100
> > > case, when the transmit buffer would fill up, the queue would go down.
> > > But the netpoll routine in the e100 code never put it back up after it
> > > was all transfered. So this would lock up the kernel when that happened.
> >
> > In my case the hang happened when no cable was connected.
>
> But should come back when the cable is reconnected.

Which might be never. Not an option.

> Hmm, how bad is it to have a printk in a routine that is registered to
> printk? If this does print, a "static once" variable should be added
> so that this is only printed once and not everytime it tries to print
> this message.

printk notices it is recursing and will not try to output it.

-Andi