gianfar: Fix race between gfar_error() and gfar_start_xmit()
authorAnton Vorontsov <avorontsov@ru.mvista.com>
Tue, 10 Nov 2009 14:11:08 +0000 (14:11 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 12 Nov 2009 03:03:35 +0000 (19:03 -0800)
gfar_error() can arrive at the middle of gfar_start_xmit() processing,
and so it can trigger transfers of BDs that we don't yet expect to
be transmitted.

Fix this by locking the tx queues in gfar_error().

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/gianfar.c

Simple merge