summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/vmxnet3/vmxnet3_drv.c1
-rw-r--r--drivers/net/vmxnet3/vmxnet3_ethtool.c10
-rw-r--r--drivers/net/vmxnet3/vmxnet3_int.h7
3 files changed, 16 insertions, 2 deletions
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c
index 1b2a18ea855c..3f48f05dd2a6 100644
--- a/drivers/net/vmxnet3/vmxnet3_drv.c
+++ b/drivers/net/vmxnet3/vmxnet3_drv.c
@@ -3247,6 +3247,7 @@ vmxnet3_probe_device(struct pci_dev *pdev,
3247 .ndo_start_xmit = vmxnet3_xmit_frame, 3247 .ndo_start_xmit = vmxnet3_xmit_frame,
3248 .ndo_set_mac_address = vmxnet3_set_mac_addr, 3248 .ndo_set_mac_address = vmxnet3_set_mac_addr,
3249 .ndo_change_mtu = vmxnet3_change_mtu, 3249 .ndo_change_mtu = vmxnet3_change_mtu,
3250 .ndo_fix_features = vmxnet3_fix_features,
3250 .ndo_set_features = vmxnet3_set_features, 3251 .ndo_set_features = vmxnet3_set_features,
3251 .ndo_get_stats64 = vmxnet3_get_stats64, 3252 .ndo_get_stats64 = vmxnet3_get_stats64,
3252 .ndo_tx_timeout = vmxnet3_tx_timeout, 3253 .ndo_tx_timeout = vmxnet3_tx_timeout,
diff --git a/drivers/net/vmxnet3/vmxnet3_ethtool.c b/drivers/net/vmxnet3/vmxnet3_ethtool.c
index 559db051a500..0a38c76688ab 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethtool.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethtool.c
@@ -257,6 +257,16 @@ vmxnet3_get_strings(struct net_device *netdev, u32 stringset, u8 *buf)
257 } 257 }
258} 258}
259 259
260netdev_features_t vmxnet3_fix_features(struct net_device *netdev,
261 netdev_features_t features)
262{
263 /* If Rx checksum is disabled, then LRO should also be disabled */
264 if (!(features & NETIF_F_RXCSUM))
265 features &= ~NETIF_F_LRO;
266
267 return features;
268}
269
260int vmxnet3_set_features(struct net_device *netdev, netdev_features_t features) 270int vmxnet3_set_features(struct net_device *netdev, netdev_features_t features)
261{ 271{
262 struct vmxnet3_adapter *adapter = netdev_priv(netdev); 272 struct vmxnet3_adapter *adapter = netdev_priv(netdev);
diff --git a/drivers/net/vmxnet3/vmxnet3_int.h b/drivers/net/vmxnet3/vmxnet3_int.h
index a2c554f8a61b..1cc1cd4aaa59 100644
--- a/drivers/net/vmxnet3/vmxnet3_int.h
+++ b/drivers/net/vmxnet3/vmxnet3_int.h
@@ -69,12 +69,12 @@
69/* 69/*
70 * Version numbers 70 * Version numbers
71 */ 71 */
72#define VMXNET3_DRIVER_VERSION_STRING "1.4.16.0-k" 72#define VMXNET3_DRIVER_VERSION_STRING "1.4.17.0-k"
73 73
74/* Each byte of this 32-bit integer encodes a version number in 74/* Each byte of this 32-bit integer encodes a version number in
75 * VMXNET3_DRIVER_VERSION_STRING. 75 * VMXNET3_DRIVER_VERSION_STRING.
76 */ 76 */
77#define VMXNET3_DRIVER_VERSION_NUM 0x01041000 77#define VMXNET3_DRIVER_VERSION_NUM 0x01041100
78 78
79#if defined(CONFIG_PCI_MSI) 79#if defined(CONFIG_PCI_MSI)
80 /* RSS only makes sense if MSI-X is supported. */ 80 /* RSS only makes sense if MSI-X is supported. */
@@ -454,6 +454,9 @@ vmxnet3_tq_destroy_all(struct vmxnet3_adapter *adapter);
454void 454void
455vmxnet3_rq_destroy_all(struct vmxnet3_adapter *adapter); 455vmxnet3_rq_destroy_all(struct vmxnet3_adapter *adapter);
456 456
457netdev_features_t
458vmxnet3_fix_features(struct net_device *netdev, netdev_features_t features);
459
457int 460int
458vmxnet3_set_features(struct net_device *netdev, netdev_features_t features); 461vmxnet3_set_features(struct net_device *netdev, netdev_features_t features);
459 462