Subject: Re: [PATCH] sky2: Lock transmit queue while disabling device

From: Jarek Poplawski <[email-masked]>
Date: Thu, 7 Jan 2010 08:15:01 +0000

On Thu, Jan 07, 2010 at 12:01:11AM -0800, David Miller wrote:
> From: Jarek Poplawski <[email-masked]>
> Date: Thu, 7 Jan 2010 06:35:46 +0000
> 
> > On 07-01-2010 05:27, David Miller wrote:
> >> From: Mike McCormack <[email-masked]>
> >> Date: Thu, 31 Dec 2009 19:55:31 +0900
> >> 
> >>> netif_device_detach() does not take the tx_lock, so it's
> >>>  possible that a call to sky2_xmit_frame is still in
> >>>  progress after netif_device_detach() is complete.
> >>>
> >>> Take netif_tx_lock() to make sure all transmits have
> >>>  stopped while we're disabling the devices and that
> >>>  no other CPU is still transmitting a frame after
> >>>  we've disabling the device.
> >>>
> >>> Proposed fix for "sky2 panic under load" reported by Berck E. Nash.
> >>>
> >>> Signed-off-by: Mike McCormack <[email-masked]>
> >> 
> >> Applied to net-next-2.6
> >> 
> >> Stephen has asked for some further refinements, once that is
> >> all sorted we can think about backporting this to net-2.6
> >> and -stable if necessary.
> >> 
> > 
> > David, I'm not sure you chose the right (working) patch from this
> > thread. Please, reconsider this:
> > Subject: [PATCH v2] sky2: Fix oops in sky2_xmit_frame() after TX timeout
> > Date: Mon, 4 Jan 2010 19:48:41 +0100
> > http://permalink.gmane.org/gmane.linux.network/148160
> 
> These are two seperate crashes and two seperate sets of patches.
> 
> Mike's patch fixes crashes due to races when bringing the
> device down or suspending it.
> 
> The other patch you reference is handling something different,
> a crash that happens while the device is staying up.
> 
> Right?

Maybe right, but Mike's patch changelog above writes:
"Proposed fix for "sky2 panic under load" reported by Berck E. Nash.",
and maybe I missed something, but I can't find any report which
acknowledges this patch fixed this or down/suspending problem.

Jarek P.