diff options
-rw-r--r-- | drivers/net/vmxnet3/vmxnet3_drv.c | 1 | ||||
-rw-r--r-- | drivers/net/vmxnet3/vmxnet3_ethtool.c | 10 | ||||
-rw-r--r-- | drivers/net/vmxnet3/vmxnet3_int.h | 7 |
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 | ||
260 | netdev_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 | |||
260 | int vmxnet3_set_features(struct net_device *netdev, netdev_features_t features) | 270 | int 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); | |||
454 | void | 454 | void |
455 | vmxnet3_rq_destroy_all(struct vmxnet3_adapter *adapter); | 455 | vmxnet3_rq_destroy_all(struct vmxnet3_adapter *adapter); |
456 | 456 | ||
457 | netdev_features_t | ||
458 | vmxnet3_fix_features(struct net_device *netdev, netdev_features_t features); | ||
459 | |||
457 | int | 460 | int |
458 | vmxnet3_set_features(struct net_device *netdev, netdev_features_t features); | 461 | vmxnet3_set_features(struct net_device *netdev, netdev_features_t features); |
459 | 462 | ||