net: aquantia: driver should correctly declare vlan_features bits
authorIgor Russkikh <igor.russkikh@aquantia.com>
Mon, 7 May 2018 13:10:38 +0000 (16:10 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 8 May 2018 04:06:44 +0000 (00:06 -0400)
In particular, not reporting SG forced skbs to be linear for vlan
interfaces over atlantic NIC.

With this fix it is possible to enable SG feature on device and
therefore optimize performance.

Reported-by: Ma Yuying <yuma@redhat.com>
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/aquantia/atlantic/aq_nic.c

index 32f6d2e24d6692ce00ffe077f0c0bc970c90e825..720760d467fa0443e60525700183809ecb499889 100644 (file)
@@ -246,6 +246,8 @@ void aq_nic_ndev_init(struct aq_nic_s *self)
 
        self->ndev->hw_features |= aq_hw_caps->hw_features;
        self->ndev->features = aq_hw_caps->hw_features;
+       self->ndev->vlan_features |= NETIF_F_HW_CSUM | NETIF_F_RXCSUM |
+                                    NETIF_F_RXHASH | NETIF_F_SG | NETIF_F_LRO;
        self->ndev->priv_flags = aq_hw_caps->hw_priv_flags;
        self->ndev->priv_flags |= IFF_LIVE_ADDR_CHANGE;