|
@@ -1028,12 +1028,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;
|