From: Florian Fainelli Date: Tue, 7 Apr 2020 00:54:12 +0000 (-0700) Subject: net: dsa: tag_brcm: Fix skb->fwd_offload_mark location X-Git-Tag: v4.9.219~22 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=02c0b89493e7e53282df11f669606571b5919376;p=platform%2Fkernel%2Flinux-amlogic.git net: dsa: tag_brcm: Fix skb->fwd_offload_mark location When the backport of upstream commit 0e62f543bed03a64495bd2651d4fe1aa4bcb7fe5 ("net: dsa: Fix duplicate frames flooded by learning") was done the assignment of skb->fwd_offload_mark would land in brcm_tag_xmit() which is incorrect, it should have been in brcm_tag_rcv(). Fixes: 5e845dc62f38 ("net: dsa: Fix duplicate frames flooded by learning") Signed-off-by: Florian Fainelli Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/dsa/tag_brcm.c b/net/dsa/tag_brcm.c index 76d55a80f3b9..98074338cd83 100644 --- a/net/dsa/tag_brcm.c +++ b/net/dsa/tag_brcm.c @@ -84,8 +84,6 @@ static struct sk_buff *brcm_tag_xmit(struct sk_buff *skb, struct net_device *dev brcm_tag[2] = BRCM_IG_DSTMAP2_MASK; brcm_tag[3] = (1 << p->port) & BRCM_IG_DSTMAP1_MASK; - skb->offload_fwd_mark = 1; - return skb; out_free: @@ -148,6 +146,8 @@ static int brcm_tag_rcv(struct sk_buff *skb, struct net_device *dev, skb->dev->stats.rx_packets++; skb->dev->stats.rx_bytes += skb->len; + skb->offload_fwd_mark = 1; + netif_receive_skb(skb); return 0;