tc35815: Remove a wrong netif_wake_queue() call which triggers BUG_ON
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Fri, 19 Feb 2010 05:13:58 +0000 (05:13 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 23 Feb 2010 09:25:01 +0000 (01:25 -0800)
commit662a96bd6f020782dfbdc0d0bd177c7dbb556687
tree92216bd288f7a79c556832ef404f0ad03231ead6
parentcac43a1b7b091b17113502e4128dcb0ff7e3503d
tc35815: Remove a wrong netif_wake_queue() call which triggers BUG_ON

The netif_wake_queue() is called correctly (i.e. only on !txfull
condition) from txdone routine.  So Unconditional call to the
netif_wake_queue() here is wrong.  This might cause calling of
start_xmit routine on txfull state and trigger BUG_ON.

This bug does not happen when NAPI disabled.  After txdone there
must be at least one free tx slot.  But with NAPI, this is not
true anymore and the BUG_ON can hits on heavy load.

In this driver NAPI was enabled on 2.6.33-rc1 so this is
regression from 2.6.32 kernel.

Reported-by: Ralf Roesch <ralf.roesch@rw-gmbh.de>
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tc35815.c