diff mbox series

[stable-4.9.y] ] net: dsa: tag_brcm: Fix skb->fwd_offload_mark location

Message ID 1586220853-34769-1-git-send-email-f.fainelli@gmail.com
State Not Applicable
Delegated to: David Miller
Headers show
Series [stable-4.9.y] ] net: dsa: tag_brcm: Fix skb->fwd_offload_mark location | expand

Commit Message

Florian Fainelli April 7, 2020, 12:54 a.m. UTC
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>
---
 net/dsa/tag_brcm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Greg Kroah-Hartman April 7, 2020, 5:43 a.m. UTC | #1
On Mon, Apr 06, 2020 at 05:54:12PM -0700, Florian Fainelli wrote:
> 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>
> ---
>  net/dsa/tag_brcm.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Now queued up, thanks.

greg k-h
diff mbox series

Patch

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;