mirror of https://github.com/hak5/openwrt.git
48 lines
1.7 KiB
Diff
48 lines
1.7 KiB
Diff
From 35b83b85e752a6660b92f08c0fb912308f25cf6d Mon Sep 17 00:00:00 2001
|
|
From: John Crispin <john@phrozen.org>
|
|
Date: Thu, 10 Aug 2017 15:56:40 +0200
|
|
Subject: [PATCH 35/57] net: mediatek: disable RX VLan offloading
|
|
|
|
Signed-off-by: John Crispin <john@phrozen.org>
|
|
---
|
|
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 9 ++++++---
|
|
drivers/net/ethernet/mediatek/mtk_eth_soc.h | 2 --
|
|
2 files changed, 6 insertions(+), 5 deletions(-)
|
|
|
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
|
@@ -709,8 +709,8 @@ static int mtk_tx_map(struct sk_buff *sk
|
|
txd4 |= TX_DMA_CHKSUM;
|
|
|
|
/* VLAN header offload */
|
|
- if (skb_vlan_tag_present(skb))
|
|
- txd4 |= TX_DMA_INS_VLAN | skb_vlan_tag_get(skb);
|
|
+// if (skb_vlan_tag_present(skb))
|
|
+// txd4 |= TX_DMA_INS_VLAN | skb_vlan_tag_get(skb);
|
|
|
|
mapped_addr = dma_map_single(eth->dev, skb->data,
|
|
skb_headlen(skb), DMA_TO_DEVICE);
|
|
@@ -1981,7 +1981,10 @@ static int mtk_hw_init(struct mtk_eth *e
|
|
mtk_w32(eth, val | MTK_CDMQ_STAG_EN, MTK_CDMQ_IG_CTRL);
|
|
|
|
/* Enable RX VLan Offloading */
|
|
- mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
|
|
+ if (MTK_HW_FEATURES & NETIF_F_HW_VLAN_CTAG_RX)
|
|
+ mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
|
|
+ else
|
|
+ mtk_w32(eth, 0, MTK_CDMP_EG_CTRL);
|
|
|
|
/* enable interrupt delay for RX */
|
|
mtk_w32(eth, MTK_PDMA_DELAY_RX_DELAY, MTK_PDMA_DELAY_INT);
|
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
|
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
|
|
@@ -34,8 +34,6 @@
|
|
NETIF_MSG_TX_ERR)
|
|
#define MTK_HW_FEATURES (NETIF_F_IP_CSUM | \
|
|
NETIF_F_RXCSUM | \
|
|
- NETIF_F_HW_VLAN_CTAG_TX | \
|
|
- NETIF_F_HW_VLAN_CTAG_RX | \
|
|
NETIF_F_SG | NETIF_F_TSO | \
|
|
NETIF_F_TSO6 | \
|
|
NETIF_F_IPV6_CSUM)
|