Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / drivers / net / vmxnet3 / vmxnet3_ethtool.c
index bba7c15..27400ed 100644 (file)
@@ -268,7 +268,7 @@ int vmxnet3_set_features(struct net_device *netdev, u32 features)
        unsigned long flags;
        u32 changed = features ^ netdev->features;
 
-       if (changed & (NETIF_F_RXCSUM|NETIF_F_LRO)) {
+       if (changed & (NETIF_F_RXCSUM | NETIF_F_LRO | NETIF_F_HW_VLAN_RX)) {
                if (features & NETIF_F_RXCSUM)
                        adapter->shared->devRead.misc.uptFeatures |=
                        UPT1_F_RXCSUM;
@@ -284,6 +284,13 @@ int vmxnet3_set_features(struct net_device *netdev, u32 features)
                        adapter->shared->devRead.misc.uptFeatures &=
                                                        ~UPT1_F_LRO;
 
+               if (features & NETIF_F_HW_VLAN_RX)
+                       adapter->shared->devRead.misc.uptFeatures |=
+                       UPT1_F_RXVLAN;
+               else
+                       adapter->shared->devRead.misc.uptFeatures &=
+                       ~UPT1_F_RXVLAN;
+
                spin_lock_irqsave(&adapter->cmd_lock, flags);
                VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
                                       VMXNET3_CMD_UPDATE_FEATURE);