diff --git a/target/linux/lantiq/patches-4.4/0025-NET-MIPS-lantiq-adds-xrx200-net.patch b/target/linux/lantiq/patches-4.4/0025-NET-MIPS-lantiq-adds-xrx200-net.patch index acaadba984..b84e205823 100644 --- a/target/linux/lantiq/patches-4.4/0025-NET-MIPS-lantiq-adds-xrx200-net.patch +++ b/target/linux/lantiq/patches-4.4/0025-NET-MIPS-lantiq-adds-xrx200-net.patch @@ -209,7 +209,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net +}; --- /dev/null +++ b/drivers/net/ethernet/lantiq_xrx200.c -@@ -0,0 +1,1850 @@ +@@ -0,0 +1,1851 @@ +/* + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published @@ -1262,6 +1262,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net + struct xrx200_chan *ch; + struct ltq_dma_desc *desc; + u32 byte_offset; ++ u16 port_map = 0; + int ret = NETDEV_TX_OK; + int len; +#ifdef SW_ROUTING @@ -1279,8 +1280,6 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net + +#ifdef SW_ROUTING + if (is_multicast_ether_addr(eth_hdr(skb)->h_dest)) { -+ u16 port_map = priv->port_map; -+ special_tag |= PORT_MAP_SEL | PORT_MAP_EN; + if (skb->protocol == htons(ETH_P_8021Q)) { + u16 vid; + int i; @@ -1294,9 +1293,11 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net + } + } + } -+ special_tag |= port_map << PORT_MAP_SHIFT; + } -+ special_tag |= priv->port_map << PORT_MAP_SHIFT; ++ if (port_map) { ++ special_tag |= (port_map << PORT_MAP_SHIFT) | ++ PORT_MAP_SEL | PORT_MAP_EN; ++ } + if(priv->wan) + special_tag |= (1 << DPID_SHIFT); + if(skb_headroom(skb) < 4) { diff --git a/target/linux/lantiq/patches-4.9/0025-NET-MIPS-lantiq-adds-xrx200-net.patch b/target/linux/lantiq/patches-4.9/0025-NET-MIPS-lantiq-adds-xrx200-net.patch index 3c2ad4b65c..a3693ee2df 100644 --- a/target/linux/lantiq/patches-4.9/0025-NET-MIPS-lantiq-adds-xrx200-net.patch +++ b/target/linux/lantiq/patches-4.9/0025-NET-MIPS-lantiq-adds-xrx200-net.patch @@ -209,7 +209,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net +}; --- /dev/null +++ b/drivers/net/ethernet/lantiq_xrx200.c -@@ -0,0 +1,1849 @@ +@@ -0,0 +1,1850 @@ +/* + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published @@ -1262,6 +1262,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net + struct xrx200_chan *ch; + struct ltq_dma_desc *desc; + u32 byte_offset; ++ u16 port_map = 0; + int ret = NETDEV_TX_OK; + int len; +#ifdef SW_ROUTING @@ -1279,8 +1280,6 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net + +#ifdef SW_ROUTING + if (is_multicast_ether_addr(eth_hdr(skb)->h_dest)) { -+ u16 port_map = priv->port_map; -+ special_tag |= PORT_MAP_SEL | PORT_MAP_EN; + if (skb->protocol == htons(ETH_P_8021Q)) { + u16 vid; + int i; @@ -1294,9 +1293,11 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net + } + } + } -+ special_tag |= port_map << PORT_MAP_SHIFT; + } -+ special_tag |= priv->port_map << PORT_MAP_SHIFT; ++ if (port_map) { ++ special_tag |= (port_map << PORT_MAP_SHIFT) | ++ PORT_MAP_SEL | PORT_MAP_EN; ++ } + if(priv->wan) + special_tag |= (1 << DPID_SHIFT); + if(skb_headroom(skb) < 4) {