kernel: bump 5.4 to 5.4.34
[oweals/openwrt.git] / target / linux / mediatek / patches-5.4 / 0400-eth-fix-rx-vlan-hw-offload.patch
1 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
2 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
3 @@ -1306,7 +1306,7 @@ static int mtk_poll_rx(struct napi_struc
4                 skb->protocol = eth_type_trans(skb, netdev);
5  
6                 if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX &&
7 -                   RX_DMA_VID(trxd.rxd3))
8 +                   (trxd.rxd2 & RX_DMA_VTAG))
9                         __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
10                                                RX_DMA_VID(trxd.rxd3));
11                 skb_record_rx_queue(skb, 0);
12 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
13 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
14 @@ -293,6 +293,7 @@
15  #define RX_DMA_LSO             BIT(30)
16  #define RX_DMA_PLEN0(_x)       (((_x) & 0x3fff) << 16)
17  #define RX_DMA_GET_PLEN0(_x)   (((_x) >> 16) & 0x3fff)
18 +#define RX_DMA_VTAG            BIT(15)
19  
20  /* QDMA descriptor rxd3 */
21  #define RX_DMA_VID(_x)         ((_x) & 0xfff)