Subject: Re: [PATCH] sky2: fix hard hang with netconsoling and iface going up

From: Stephen Hemminger <[email-masked]>
Date: Mon, 2 Feb 2009 10:01:42 -0800

On Mon, 2 Feb 2009 01:38:53 +0300
Alexey Dobriyan <[email-masked]> wrote:

> On Fri, Jan 30, 2009 at 02:59:07PM +0300, Alexey Dobriyan wrote:
> > On Thu, Jan 29, 2009 at 05:00:43PM -0800, David Miller wrote:
> > > From: Alexey Dobriyan <[email-masked]>
> > > Date: Tue, 27 Jan 2009 16:27:18 +0300
> > > 
> > > > [PATCH] sky2: fix hard hang with netconsoling and iface going up
> > > > 
> > > > Printing anything over netconsole before hw is up and running is,
> > > > of course, not going to work.
> > > > 
> > > > Signed-off-by: Alexey Dobriyan <[email-masked]>
> > > 
> > > Alexey, can you get this tested by the reporter to make sure
> > > it really fixes the hang?
> > 
> > I'm the reporter and tester and using this patch successfully. :-)
> > 
> > > Once it's been tested, I'll apply it.
> > 
> > As for other printks, someone with 8139cp should experience the same bug.
> 
> Strangely enough, 8139cp survives with no message printed and no hang or
> anything. But this is with qemu/kvm.
> 
> 	static int cp_open (struct net_device *dev)
> 	{
> 	        struct cp_private *cp = netdev_priv(dev);
> 	        int rc;
> 
> 	        if (netif_msg_ifup(cp))
> 	                printk(KERN_DEBUG "%s: enabling interface\n", dev->name);
> 
> 	        rc = cp_alloc_rings(cp);
> 			...

Unlike other drivers, sky2 calls its own up routine on resume.
In this case, the netif_running flag is already set.