From 1b4b61e873240faea96995cd87cfbe7bc51a2b39 Mon Sep 17 00:00:00 2001 From: Sarah Sharp Date: Tue, 04 Mar 2014 22:23:47 +0000 Subject: Revert "USBNET: ax88179_178a: enable tso if usb host supports sg dma" This reverts commit 3804fad45411b48233b48003e33a78f290d227c8. The xHCI driver does not implement TD fragment rules yet, so we can't properly support arbitrary-length scatter gather. USB storage seems immune to these issues, and only the ASIX host seems to hit them, so disable scatter gather. Note that we can't simply work around this by clearing the no_sg_constraint flag for 1.0 xHCI hosts that need TD fragments (and thus would cause the ASIX chipsets to drop packets). We tried that with commit 247bf557273d "xhci 1.0: Limit arbitrarily-aligned scatter gather." We found that commit breaks USB 3.0 mass storage devices. It needs to get reverted, and this commit needs to get reverted before it to avoid dropped packets with the ASIX ethernet adapters. Signed-off-by: Sarah Sharp Cc: stable@vger.kernel.org # 3.12 --- diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c index 955df81..42085e6 100644 --- a/drivers/net/usb/ax88179_178a.c +++ b/drivers/net/usb/ax88179_178a.c @@ -1029,20 +1029,12 @@ 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; -- cgit v0.9.2