Re: [Bug #14925] sky2 panic under load
From: David Miller <davem@davemloft.net>
Date: 2010-01-12 00:14:11
From: Jarek Poplawski <redacted> Date: Mon, 11 Jan 2010 23:07:54 +0100
I don't agree: you both try to make this check more specific. Actually, since this problem is quite tricky, I wondered about making it more genaral and visible for other maintainers by adding something like netif_wake_queue_present() with the check and some comment.
This detracts from the real problem. The issue is that we have a code path bringing a device down, which uses helper routines which are meant to be executed when the device is up and functioning normally. That's the bug. No other driver does silly things like call helper routines which wake the TX queue when taking the chip down. Fix that, not the immediate symptoms. Write a routine that unconditionally clears the TX queue, frees the packets, etc. and has none of the wake logic. That's what most other driver do, and those that don't should be fixed similarly.