[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070310203157.GB10459@waste.org>
Date: Sat, 10 Mar 2007 14:31:57 -0600
From: Matt Mackall <mpm@...enic.com>
To: Francois Romieu <romieu@...zoreil.com>
Cc: Simon Arlott <simon@...e.lp0.eu>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
netdev@...r.kernel.org
Subject: Re: netconsole system freeze when cable unplugged
On Fri, Mar 09, 2007 at 09:42:43PM +0100, Francois Romieu wrote:
> Simon Arlott <simon@...e.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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists