--- zzzz-none-000/linux-2.6.39.4/net/8021q/vlan_dev.c 2011-08-03 19:43:28.000000000 +0000 +++ puma6-atom-6490-729/linux-2.6.39.4/net/8021q/vlan_dev.c 2021-11-10 13:38:18.000000000 +0000 @@ -32,6 +32,11 @@ #include "vlanproc.h" #include + +#if defined(CONFIG_MACH_PUMA5) || defined(CONFIG_MACH_PUMA6) +#include +#endif + /* * Rebuild the Ethernet MAC header. This is called after an ARP * (or in future other address resolution) has completed on this @@ -185,6 +190,10 @@ skb->priority = vlan_get_ingress_priority(skb->dev, vlan_tci); +#ifdef CONFIG_TI_PACKET_PROCESSOR + skb->vpid_vlan_tci = vlan_tci; +#endif /* CONFIG_TI_PACKET_PROCESSOR */ + pr_debug("%s: priority: %u for TCI: %hu\n", __func__, skb->priority, vlan_tci); @@ -241,8 +250,10 @@ static inline u16 vlan_dev_get_egress_qos_mask(struct net_device *dev, struct sk_buff *skb) { - struct vlan_priority_tci_mapping *mp; - +#if defined(CONFIG_MACH_PUMA6) + return (VLAN_PRIO_MASK & (((u16)(skb->ti_meta_info)) << VLAN_PRIO_SHIFT)); +#else + struct vlan_priority_tci_mapping *mp; mp = vlan_dev_info(dev)->egress_priority_map[(skb->priority & 0xF)]; while (mp) { if (mp->priority == skb->priority) { @@ -253,6 +264,7 @@ mp = mp->next; } return 0; +#endif } /*