From: Florian Fainelli Date: Mon, 4 Sep 2017 03:27:01 +0000 (-0700) Subject: net: dsa: tag_brcm: Set output queue from skb queue mapping X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=0f15b0986996a4d45090c0010728055c6aa2b458;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git net: dsa: tag_brcm: Set output queue from skb queue mapping We originally used skb->priority but that was not quite correct as this bitfield needs to contain the egress switch queue we intend to send this SKB to. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller --- diff --git a/net/dsa/tag_brcm.c b/net/dsa/tag_brcm.c index de74c3f77818..dbb016434ace 100644 --- a/net/dsa/tag_brcm.c +++ b/net/dsa/tag_brcm.c @@ -62,6 +62,7 @@ static struct sk_buff *brcm_tag_xmit(struct sk_buff *skb, struct net_device *dev) { struct dsa_slave_priv *p = netdev_priv(dev); + u16 queue = skb_get_queue_mapping(skb); u8 *brcm_tag; if (skb_cow_head(skb, BRCM_TAG_LEN) < 0) @@ -78,7 +79,7 @@ static struct sk_buff *brcm_tag_xmit(struct sk_buff *skb, struct net_device *dev * deprecated */ brcm_tag[0] = (1 << BRCM_OPCODE_SHIFT) | - ((skb->priority << BRCM_IG_TC_SHIFT) & BRCM_IG_TC_MASK); + ((queue & BRCM_IG_TC_MASK) << BRCM_IG_TC_SHIFT); brcm_tag[1] = 0; brcm_tag[2] = 0; if (p->dp->index == 8)