--- /dev/null
+From f.fainelli@gmail.com Tue Apr 7 07:42:34 2020
+From: Florian Fainelli <f.fainelli@gmail.com>
+Date: Mon, 6 Apr 2020 17:54:12 -0700
+Subject: net: dsa: tag_brcm: Fix skb->fwd_offload_mark location
+To: linux-stable@vger.kernel.org
+Cc: gregkh@linuxfoundation.org, sashal@kernel.org, Florian Fainelli <f.fainelli@gmail.com>, Andrew Lunn <andrew@lunn.ch>, Vivien Didelot <vivien.didelot@savoirfairelinux.com>, "David S. Miller" <davem@davemloft.net>, netdev@vger.kernel.org (open list:NETWORKING [GENERAL]), linux-kernel@vger.kernel.org (open list)
+Message-ID: <1586220853-34769-1-git-send-email-f.fainelli@gmail.com>
+
+From: Florian Fainelli <f.fainelli@gmail.com>
+
+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@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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;