|
@@ -62,6 +62,7 @@
|
|
static struct sk_buff *brcm_tag_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
static struct sk_buff *brcm_tag_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
{
|
|
{
|
|
struct dsa_slave_priv *p = netdev_priv(dev);
|
|
struct dsa_slave_priv *p = netdev_priv(dev);
|
|
|
|
+ u16 queue = skb_get_queue_mapping(skb);
|
|
u8 *brcm_tag;
|
|
u8 *brcm_tag;
|
|
|
|
|
|
if (skb_cow_head(skb, BRCM_TAG_LEN) < 0)
|
|
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
|
|
* deprecated
|
|
*/
|
|
*/
|
|
brcm_tag[0] = (1 << BRCM_OPCODE_SHIFT) |
|
|
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[1] = 0;
|
|
brcm_tag[2] = 0;
|
|
brcm_tag[2] = 0;
|
|
if (p->dp->index == 8)
|
|
if (p->dp->index == 8)
|