kernel: bump 4.14 to 4.14.125 (FS#2305 FS#2297)
[oweals/openwrt.git] / target / linux / mediatek / patches-4.14 / 0035-net-mediatek-disable-RX-VLan-offloading.patch
1 From 35b83b85e752a6660b92f08c0fb912308f25cf6d Mon Sep 17 00:00:00 2001
2 From: John Crispin <john@phrozen.org>
3 Date: Thu, 10 Aug 2017 15:56:40 +0200
4 Subject: [PATCH 35/57] net: mediatek: disable RX VLan offloading
5
6 Signed-off-by: John Crispin <john@phrozen.org>
7 ---
8  drivers/net/ethernet/mediatek/mtk_eth_soc.c | 9 ++++++---
9  drivers/net/ethernet/mediatek/mtk_eth_soc.h | 2 --
10  2 files changed, 6 insertions(+), 5 deletions(-)
11
12 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
13 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
14 @@ -709,8 +709,8 @@ static int mtk_tx_map(struct sk_buff *sk
15                 txd4 |= TX_DMA_CHKSUM;
16  
17         /* VLAN header offload */
18 -       if (skb_vlan_tag_present(skb))
19 -               txd4 |= TX_DMA_INS_VLAN | skb_vlan_tag_get(skb);
20 +//     if (skb_vlan_tag_present(skb))
21 +//             txd4 |= TX_DMA_INS_VLAN | skb_vlan_tag_get(skb);
22  
23         mapped_addr = dma_map_single(eth->dev, skb->data,
24                                      skb_headlen(skb), DMA_TO_DEVICE);
25 @@ -1980,7 +1980,10 @@ static int mtk_hw_init(struct mtk_eth *e
26         mtk_w32(eth, val | MTK_CDMQ_STAG_EN, MTK_CDMQ_IG_CTRL);
27  
28         /* Enable RX VLan Offloading */
29 -       mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
30 +       if (MTK_HW_FEATURES & NETIF_F_HW_VLAN_CTAG_RX)
31 +               mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
32 +       else
33 +               mtk_w32(eth, 0, MTK_CDMP_EG_CTRL);
34  
35         /* enable interrupt delay for RX */
36         mtk_w32(eth, MTK_PDMA_DELAY_RX_DELAY, MTK_PDMA_DELAY_INT);
37 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
38 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
39 @@ -34,8 +34,6 @@
40                                  NETIF_MSG_TX_ERR)
41  #define MTK_HW_FEATURES                (NETIF_F_IP_CSUM | \
42                                  NETIF_F_RXCSUM | \
43 -                                NETIF_F_HW_VLAN_CTAG_TX | \
44 -                                NETIF_F_HW_VLAN_CTAG_RX | \
45                                  NETIF_F_SG | NETIF_F_TSO | \
46                                  NETIF_F_TSO6 | \
47                                  NETIF_F_IPV6_CSUM)