From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932265AbXCJUop (ORCPT ); Sat, 10 Mar 2007 15:44:45 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932270AbXCJUop (ORCPT ); Sat, 10 Mar 2007 15:44:45 -0500 Received: from waste.org ([66.93.16.53]:51717 "EHLO waste.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932241AbXCJUon (ORCPT ); Sat, 10 Mar 2007 15:44:43 -0500 Date: Sat, 10 Mar 2007 14:31:57 -0600 From: Matt Mackall To: Francois Romieu Cc: Simon Arlott , Linux Kernel Mailing List , netdev@vger.kernel.org Subject: Re: netconsole system freeze when cable unplugged Message-ID: <20070310203157.GB10459@waste.org> References: <45F1B6FD.1060902@simon.arlott.org.uk> <20070309204243.GA28441@electric-eye.fr.zoreil.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070309204243.GA28441@electric-eye.fr.zoreil.com> User-Agent: Mutt/1.5.9i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 09, 2007 at 09:42:43PM +0100, Francois Romieu wrote: > Simon Arlott : > > 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.