tg3: Fix 5906 transmit hangs
authorMatt Carlson <mcarlson@broadcom.com>
Mon, 2 Nov 2009 14:23:27 +0000 (14:23 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Nov 2009 07:39:00 +0000 (23:39 -0800)
commit92c6b8d16a36df3f28b2537bed2a56491fb08f11
tree13f89b031c7c82163233963c24bfe20312ba901e
parent0e1406dd404ce55dbe8d68b4b5e2aed7e5c75fdb
tg3: Fix 5906 transmit hangs

The 5906 has trouble with fragments that are less than 8 bytes in size.
This patch works around the problem by pivoting the 5906's transmit
routine to tg3_start_xmit_dma_bug() and introducing a new SHORT_DMA_BUG
flag that enables code to detect and react to the problematic condition.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tg3.c
drivers/net/tg3.h