[PATCH 4.9 12/32] net: dsa: tag_brcm: Fix skb->fwd_offload_mark location

From: Greg Kroah-Hartman
Date: Sat Apr 11 2020 - 08:28:57 EST


From: Florian Fainelli <f.fainelli@xxxxxxxxx>

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 <f.fainelli@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
net/dsa/tag_brcm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--- a/net/dsa/tag_brcm.c
+++ b/net/dsa/tag_brcm.c
@@ -84,8 +84,6 @@ static struct sk_buff *brcm_tag_xmit(str
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->dev->stats.rx_packets++;
skb->dev->stats.rx_bytes += skb->len;

+ skb->offload_fwd_mark = 1;
+
netif_receive_skb(skb);

return 0;