From 6df4426245be87148d6aa75859951cb6351eb24c Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Thu, 10 Dec 2015 19:06:32 +0000
Subject: ralink: bump to the target to v4.3

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47831
---
 .../ramips/files/drivers/net/ethernet/ralink/esw_rt3052.c |  4 ++--
 .../files/drivers/net/ethernet/ralink/ralink_soc_eth.c    | 15 +++++++++------
 2 files changed, 11 insertions(+), 8 deletions(-)

(limited to 'target/linux/ramips/files')

diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3052.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3052.c
index 55d5729f43..e564dd81e5 100644
--- a/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3052.c
+++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3052.c
@@ -611,7 +611,7 @@ static void esw_hw_init(struct rt305x_esw *esw)
 		rt305x_mii_write(esw, 0, 29, 0x598b);
 		/* select local register */
 		rt305x_mii_write(esw, 0, 31, 0x8000);
-	} else if (ralink_soc == MT762X_SOC_MT7628AN) {
+	} else if (ralink_soc == MT762X_SOC_MT7628AN || ralink_soc == MT762X_SOC_MT7688) {
 		int i;
 //		u32 phy_val;
 		u32 val;
@@ -1042,7 +1042,7 @@ esw_get_port_tr_badgood(struct switch_dev *dev,
 	int shift = attr->id == RT5350_ESW_ATTR_PORT_TR_GOOD ? 0 : 16;
 	u32 reg;
 
-	if ((ralink_soc != RT305X_SOC_RT5350) && (ralink_soc != MT762X_SOC_MT7628AN))
++	if ((ralink_soc != RT305X_SOC_RT5350) && (ralink_soc != MT762X_SOC_MT7628AN) && (ralink_soc != MT762X_SOC_MT7688))
 		return -EINVAL;
 
 	if (idx < 0 || idx >= RT305X_ESW_NUM_LANWAN)
diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c
index 0f3009cc73..5bc9b58336 100644
--- a/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c
+++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c
@@ -575,13 +575,15 @@ static int fe_tx_map_dma(struct sk_buff *skb, struct net_device *dev,
 		txd.txd4 |= TX_DMA_CHKSUM;
 
 	/* VLAN header offload */
-	if (vlan_tx_tag_present(skb)) {
+	if (skb_vlan_tag_present(skb)) {
+		u16 tag = skb_vlan_tag_get(skb);
+
 		if (IS_ENABLED(CONFIG_SOC_MT7621))
-			txd.txd4 |= TX_DMA_INS_VLAN_MT7621 | vlan_tx_tag_get(skb);
+			txd.txd4 |= TX_DMA_INS_VLAN_MT7621 | tag;
 		else
 			txd.txd4 |= TX_DMA_INS_VLAN |
-				((vlan_tx_tag_get(skb) >> VLAN_PRIO_SHIFT) << 4) |
-				(vlan_tx_tag_get(skb) & 0xF);
+				((tag >> VLAN_PRIO_SHIFT) << 4) |
+				(tag & 0xF);
 	}
 
 	/* TSO: fill MSS info in tcp checksum field */
@@ -711,8 +713,7 @@ static inline int fe_skb_padto(struct sk_buff *skb, struct fe_priv *priv) {
 		if ((priv->flags & FE_FLAG_PADDING_64B) &&
 				!(priv->flags & FE_FLAG_PADDING_BUG))
 			return ret;
-
-		if (vlan_tx_tag_present(skb))
+		if (skb_vlan_tag_present(skb))
 			len = ETH_ZLEN;
 		else if (skb->protocol == cpu_to_be16(ETH_P_8021Q))
 			len = VLAN_ETH_ZLEN;
@@ -999,6 +1000,8 @@ static int fe_poll(struct napi_struct *napi, int budget)
 
 		napi_complete(napi);
 		fe_int_enable(tx_intr | rx_intr);
+	} else {
+			rx_done = budget;
 	}
 
 poll_again:
-- 
cgit v1.2.3