Messages in this thread | | | Date | Sat, 10 Mar 2007 14:31:57 -0600 | From | Matt Mackall <> | Subject | Re: netconsole system freeze when cable unplugged |
| |
On Fri, Mar 09, 2007 at 09:42:43PM +0100, Francois Romieu wrote: > Simon Arlott <simon@fire.lp0.eu> : > > 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*
Probably the best thing that can be done here aside from moving mii_check_media outside interrupt handling is to add netpoll_plug/unplug(dev) methods that push work off to netpoll's queue for drivers that have a netpoll recursion problem.
-- Mathematics is the supreme nostalgia of our time. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |