]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/net/usb/ax88179_178a.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
[karo-tx-linux.git] / drivers / net / usb / ax88179_178a.c
index fb0caa289d0bfe53e8632305379afbc86abf2502..3569293df8726df8c87786ad83b5be506e6b3285 100644 (file)
@@ -1031,12 +1031,20 @@ static int ax88179_bind(struct usbnet *dev, struct usb_interface *intf)
        dev->mii.phy_id = 0x03;
        dev->mii.supports_gmii = 1;
 
+       if (usb_device_no_sg_constraint(dev->udev))
+               dev->can_dma_sg = 1;
+
        dev->net->features |= NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
                              NETIF_F_RXCSUM;
 
        dev->net->hw_features |= NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
                                 NETIF_F_RXCSUM;
 
+       if (dev->can_dma_sg) {
+               dev->net->features |= NETIF_F_SG | NETIF_F_TSO;
+               dev->net->hw_features |= NETIF_F_SG | NETIF_F_TSO;
+       }
+
        /* Enable checksum offload */
        *tmp = AX_RXCOE_IP | AX_RXCOE_TCP | AX_RXCOE_UDP |
               AX_RXCOE_TCPV6 | AX_RXCOE_UDPV6;