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)
commit836cf7faf8c75743477ed6ed341cce491f3183fb
treee4a8dff4c36bd53080af4dbe1014b91381b79850
parent499428ed28d800eb5cf25889bb1e026637d99dfc
gianfar: Fix race between gfar_error() and gfar_start_xmit()

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