tg3: Fix IPv6 TCP problems for 5719
authorMatt Carlson <mcarlson@broadcom.com>
Thu, 19 May 2011 12:12:47 +0000 (12:12 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 May 2011 22:00:00 +0000 (18:00 -0400)
Commit 4d163b75e979833979cc401ae433cb1d7743d57e, entitled
"tg3: Fix 5719 A0 tx completion bug" turned off TSO to fix a hardware
bug.  In doing so, it accidentally turned off all IPv6 TCP checksum
offloading too.  This patch fixes the problem by reenabling the hardware
bit that control both features.  The TSO capability is still not exposed
to the kernel.

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

index 09f2c11db2479ac944bf27184148b6a56cc3203d..6c53e2c4aa7c27a99ba6d336b1c635a278e407da 100644 (file)
@@ -8303,7 +8303,7 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy)
            tg3_flag(tp, HW_TSO_3))
                rdmac_mode |= RDMAC_MODE_IPV4_LSO_EN;
 
-       if (tg3_flag(tp, HW_TSO_3) ||
+       if (tg3_flag(tp, 57765_PLUS) ||
            GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785 ||
            GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_57780)
                rdmac_mode |= RDMAC_MODE_IPV6_LSO_EN;