tg3: Apply short DMA frag workaround to 5906
authorMatt Carlson <mcarlson@broadcom.com>
Thu, 7 Jun 2012 12:56:54 +0000 (12:56 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 21 Oct 2012 16:17:11 +0000 (09:17 -0700)
commit b7abee6ef888117f92db370620ebf116a38e3f4d upstream.

5906 devices also need the short DMA fragment workaround.  This patch
makes the necessary change.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Tested-by: Christian Kujau <lists@nerdbynature.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Mike Pagano <mpagano@gentoo.org>
drivers/net/tg3.c

index 85931ca..10a99e4 100644 (file)
@@ -13689,8 +13689,9 @@ static int __devinit tg3_get_invariants(struct tg3 *tp)
         */
        tg3_flag_set(tp, 4G_DMA_BNDRY_BUG);
 
-       if (tg3_flag(tp, 5755_PLUS))
-               tg3_flag_set(tp, SHORT_DMA_BUG);
+       if (tg3_flag(tp, 5755_PLUS) ||
+               GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906)
+                       tg3_flag_set(tp, SHORT_DMA_BUG);
        else
                tg3_flag_set(tp, 40BIT_DMA_LIMIT_BUG);