diff options
Diffstat (limited to 'drivers/net/bnx2.c')
-rw-r--r-- | drivers/net/bnx2.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 7635736cc791..e89d5df3e978 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c | |||
@@ -5128,6 +5128,16 @@ bnx2_set_rx_csum(struct net_device *dev, u32 data) | |||
5128 | return 0; | 5128 | return 0; |
5129 | } | 5129 | } |
5130 | 5130 | ||
5131 | static int | ||
5132 | bnx2_set_tso(struct net_device *dev, u32 data) | ||
5133 | { | ||
5134 | if (data) | ||
5135 | dev->features |= NETIF_F_TSO | NETIF_F_TSO_ECN; | ||
5136 | else | ||
5137 | dev->features &= ~(NETIF_F_TSO | NETIF_F_TSO_ECN); | ||
5138 | return 0; | ||
5139 | } | ||
5140 | |||
5131 | #define BNX2_NUM_STATS 46 | 5141 | #define BNX2_NUM_STATS 46 |
5132 | 5142 | ||
5133 | static struct { | 5143 | static struct { |
@@ -5445,7 +5455,7 @@ static struct ethtool_ops bnx2_ethtool_ops = { | |||
5445 | .set_sg = ethtool_op_set_sg, | 5455 | .set_sg = ethtool_op_set_sg, |
5446 | #ifdef BCM_TSO | 5456 | #ifdef BCM_TSO |
5447 | .get_tso = ethtool_op_get_tso, | 5457 | .get_tso = ethtool_op_get_tso, |
5448 | .set_tso = ethtool_op_set_tso, | 5458 | .set_tso = bnx2_set_tso, |
5449 | #endif | 5459 | #endif |
5450 | .self_test_count = bnx2_self_test_count, | 5460 | .self_test_count = bnx2_self_test_count, |
5451 | .self_test = bnx2_self_test, | 5461 | .self_test = bnx2_self_test, |
@@ -5926,7 +5936,7 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
5926 | dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; | 5936 | dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; |
5927 | #endif | 5937 | #endif |
5928 | #ifdef BCM_TSO | 5938 | #ifdef BCM_TSO |
5929 | dev->features |= NETIF_F_TSO; | 5939 | dev->features |= NETIF_F_TSO | NETIF_F_TSO_ECN; |
5930 | #endif | 5940 | #endif |
5931 | 5941 | ||
5932 | netif_carrier_off(bp->dev); | 5942 | netif_carrier_off(bp->dev); |