sungem hangs in atomic if netconsole enabled but no carrier

From: Johannes Berg
Date: Tue Dec 20 2005 - 07:11:00 EST


I've been debugging some issues and wondered why I got hangs in random
places in the code. It turns out that the problem is that I still had
netconsole enabled even though I have no network at the moment. So what
I had was:
* sungem compiled in
* netconsole=.... as command line
* no network cable plugged in

sungem does recognise this situation and says that waiting for carrier
timed out. However, later, when I printk() in with interrupts disabled,
the system hangs after printing out a few lines to the console (I think
it's more than one, not sure though, might be just a single one).

Turns out that if I remove the netconsole=... option to my kernel, all
works fine and the system no longer hangs. Obviously not plugging in a
network cable is pretty useless when netconsole is turned on, but I
think it should not hang the system completely. So far I haven't been
able to figure out where it actually hangs and don't even know how to do
so -- I'm open for suggestions on how to find out why/where it hangs or
even fixes.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part