Re: [PATCH] sky2: Lock transmit queue while disabling device
From: Jarek Poplawski <hidden>
Date: 2010-01-07 08:15:10
On Thu, Jan 07, 2010 at 12:01:11AM -0800, David Miller wrote:
From: Jarek Poplawski <redacted> Date: Thu, 7 Jan 2010 06:35:46 +0000quoted
On 07-01-2010 05:27, David Miller wrote:quoted
From: Mike McCormack <redacted> Date: Thu, 31 Dec 2009 19:55:31 +0900quoted
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 <redacted>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/148160These 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.