Re: [PATCH] skge: fix occasional BUG during MTU change

From: David Miller
Date: Tue Apr 14 2009 - 18:17:31 EST


From: Stephen Hemminger <shemminger@xxxxxxxxxx>
Date: Tue, 14 Apr 2009 10:55:39 -0700

> On Tue, 7 Apr 2009 18:36:23 +0200
> Michal Schmidt <mschmidt@xxxxxxxxxx> wrote:
>
>> The BUG_ON(skge->tx_ring.to_use != skge->tx_ring.to_clean) in skge_up()
>> was sometimes observed when setting MTU.
>>
>> skge_down() disables the TX queue, but then reenables it by mistake via
>> skge_tx_clean().
>> Fix it by moving the waking of the queue from skge_tx_clean() to the
>> other caller. And to make sure start_xmit is not in progress on another
>> CPU, skge_down() should call netif_tx_disable().
>>
>> The bug was reported to me by Jiri Jilek whose Debian system sometimes
>> failed to boot. He tested the patch and the bug did not happen anymore.
>>
>> Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx>
>> ---
>> drivers/net/skge.c | 4 ++--
>> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> Tested fine. This should go to stable as well.
>
> Acked-by: Stephen Hemminger <shemminger@xxxxxxxxxx>

Applied, thanks everyone.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/