aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/tg3.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 2b7d99fc257c..04d8b18e2912 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -3443,10 +3443,18 @@ static inline void tg3_set_mtu(struct net_device *dev, struct tg3 *tp,
3443{ 3443{
3444 dev->mtu = new_mtu; 3444 dev->mtu = new_mtu;
3445 3445
3446 if (new_mtu > ETH_DATA_LEN) 3446 if (new_mtu > ETH_DATA_LEN) {
3447 tp->tg3_flags |= TG3_FLAG_JUMBO_RING_ENABLE; 3447 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5780) {
3448 else 3448 tp->tg3_flags2 &= ~TG3_FLG2_TSO_CAPABLE;
3449 ethtool_op_set_tso(dev, 0);
3450 }
3451 else
3452 tp->tg3_flags |= TG3_FLAG_JUMBO_RING_ENABLE;
3453 } else {
3454 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5780)
3455 tp->tg3_flags2 |= TG3_FLG2_TSO_CAPABLE;
3449 tp->tg3_flags &= ~TG3_FLAG_JUMBO_RING_ENABLE; 3456 tp->tg3_flags &= ~TG3_FLAG_JUMBO_RING_ENABLE;
3457 }
3450} 3458}
3451 3459
3452static int tg3_change_mtu(struct net_device *dev, int new_mtu) 3460static int tg3_change_mtu(struct net_device *dev, int new_mtu)