Re: netconsole system freeze when cable unplugged

From: Simon Arlott
Date: Sat Mar 10 2007 - 09:07:04 EST


On 10/03/07 13:38, Andi Kleen wrote:
Simon Arlott <simon@xxxxxxxxxxx> writes:

On 09/03/07 20:42, Francois Romieu wrote:
Simon Arlott <simon@xxxxxxxxxxx> :
When I unplug the cable the system just stops responding to
anything, at all. No message is printed to the console when the
cable is plugged back in.
rtl8139_interrupt (spin_lock(&tp->lock))
-> rtl8139_weird_interrupt
-> rtl_check_media
-> mii_check_media (printk(KERN_INFO "%s: link down\n", ...))
[netpoll stuff here]
-> rtl8139_poll_controller
-> rtl8139_interrupt
*deadlock*
See below for my random stuff of the day. Feel free to open a PR at
bugzilla.kernel.org if the issue does not go away.
The patch doesn't fix it, nothing changes. I'm not sure how this can
be debugged if printk won't work...

earlyprintk can be called directly (early_printk()) and should
work. It won't log over the network of course.

It also won't log over the serial console either :(
(but that's probably a good thing, it's slow enough to boot with tons of messages to the display because of netconsole and nfs).

rtl8139_interrupt
-> spin_lock(&tp->lock)
-> rtl8139_weird_interrupt
-> rtl_check_media
-> mii_check_media
-> printk(KERN_INFO "%s: link down\n", ...)
-> wite_msg
-> local_irq_save
-> netpoll_send_udp
-> netpoll_send_skb
-> local_irq_save
-> dev->hard_start_xmit(..., ...)
rtl8139_start_xmit
-> spin_lock_irqsave
*deadlock*

--
Simon Arlott
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/