X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fchunkeey.git;a=blobdiff_plain;f=target%2Flinux%2Flantiq%2Fpatches-4.4%2F0025-NET-MIPS-lantiq-adds-xrx200-net.patch;h=1550f26e36f96244122204f488590dd1e9e3963d;hp=4e60f3030288893bea3153bceb233a12c45a3961;hb=bf6216e5e3938cd306b0295161140ec281a094b9;hpb=528b769d42efdb9d9c25bb62cfb2fdca5ff3f8ec 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 4e60f30302..1550f26e36 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,1852 @@ +/* + * 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 @@ -1190,8 +1190,8 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net + if ((desc->ctl & (LTQ_DMA_OWN | LTQ_DMA_C)) == LTQ_DMA_C) { +#ifdef SW_ROUTING + struct sk_buff *skb = ch->skb[ch->dma.desc]; -+ u32 *special_tag = (u32*)skb->data; -+ int port = (special_tag[1] >> SPPID_SHIFT) & SPPID_MASK; ++ u8 *special_tag = (u8*)skb->data; ++ int port = (special_tag[7] >> SPPID_SHIFT) & SPPID_MASK; + xrx200_hw_receive(ch, priv->hw->port_map[port]); +#else + xrx200_hw_receive(ch, 0); @@ -1280,11 +1280,12 @@ 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)) { ++ ++ if (priv->sw && skb->protocol == htons(ETH_P_8021Q)) { + u16 vid; + int i; + ++ port_map = 0; + if (!__vlan_get_tag(skb, &vid)) { + for (i = 0; i < XRX200_MAX_VLAN; i++) { + if (priv->hw->vlan_vid[i] != vid) @@ -1294,9 +1295,10 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net + } + } + } -+ special_tag |= port_map << PORT_MAP_SHIFT; ++ ++ special_tag |= (port_map << PORT_MAP_SHIFT) | ++ PORT_MAP_SEL | PORT_MAP_EN; + } -+ special_tag |= priv->port_map << PORT_MAP_SHIFT; + if(priv->wan) + special_tag |= (1 << DPID_SHIFT); + if(skb_headroom(skb) < 4) {