Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[firefly-linux-kernel-4.4.55.git] / drivers / net / ethernet / ibm / ehea / ehea_main.c
index 02963343447497f1ab9d728a0a9fe7971872549b..90ea0b1673ca45300f902f0f038f0a4a7061b745 100644 (file)
@@ -725,7 +725,8 @@ static int ehea_proc_rwqes(struct net_device *dev,
                        processed_bytes += skb->len;
 
                        if (cqe->status & EHEA_CQE_VLAN_TAG_XTRACT)
-                               __vlan_hwaccel_put_tag(skb, cqe->vlan_tag);
+                               __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
+                                                      cqe->vlan_tag);
 
                        napi_gro_receive(&pr->napi, skb);
                } else {
@@ -2110,7 +2111,7 @@ static int ehea_start_xmit(struct sk_buff *skb, struct net_device *dev)
        return NETDEV_TX_OK;
 }
 
-static int ehea_vlan_rx_add_vid(struct net_device *dev, unsigned short vid)
+static int ehea_vlan_rx_add_vid(struct net_device *dev, __be16 proto, u16 vid)
 {
        struct ehea_port *port = netdev_priv(dev);
        struct ehea_adapter *adapter = port->adapter;
@@ -2148,7 +2149,7 @@ out:
        return err;
 }
 
-static int ehea_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid)
+static int ehea_vlan_rx_kill_vid(struct net_device *dev, __be16 proto, u16 vid)
 {
        struct ehea_port *port = netdev_priv(dev);
        struct ehea_adapter *adapter = port->adapter;
@@ -3020,12 +3021,12 @@ static struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,
        dev->netdev_ops = &ehea_netdev_ops;
        ehea_set_ethtool_ops(dev);
 
-       dev->hw_features = NETIF_F_SG | NETIF_F_TSO
-                     | NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_TX;
-       dev->features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO
-                     | NETIF_F_HIGHDMA | NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_TX
-                     | NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER
-                     | NETIF_F_RXCSUM;
+       dev->hw_features = NETIF_F_SG | NETIF_F_TSO |
+                     NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_CTAG_TX;
+       dev->features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO |
+                     NETIF_F_HIGHDMA | NETIF_F_IP_CSUM |
+                     NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX |
+                     NETIF_F_HW_VLAN_CTAG_FILTER | NETIF_F_RXCSUM;
        dev->vlan_features = NETIF_F_SG | NETIF_F_TSO | NETIF_F_HIGHDMA |
                        NETIF_F_IP_CSUM;
        dev->watchdog_timeo = EHEA_WATCH_DOG_TIMEOUT;