--- a/drivers/net/ethernet/ralink/ralink_soc_eth.c +++ b/drivers/net/ethernet/ralink/ralink_soc_eth.c @@ -335,7 +335,7 @@ static int fe_start_xmit(struct sk_buff if (priv->soc->tso) fe_start_tso(skb, dev, nr_frags, tx); - if (skb_shinfo(skb)->gso_segs > 1) { + if (priv->soc->tso && (skb_shinfo(skb)->gso_segs > 1)) { struct iphdr *iph = NULL; struct tcphdr *th = NULL; struct ipv6hdr *ip6h = NULL; @@ -741,8 +741,7 @@ static int fe_probe(struct platform_devi dev_info(&pdev->dev, "Enabling TSO\n"); netdev->features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_IPV6_CSUM; } - - netdev->hw_features = netdev->vlan_features = netdev->features; + netdev->hw_features = netdev->features; netdev->irq = platform_get_irq(pdev, 0); if (netdev->irq < 0) {