diff options
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 05011048b86..2322fb69fd5 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -2014,10 +2014,11 @@ static inline struct sk_buff *handle_macvlan(struct sk_buff *skb, | |||
2014 | */ | 2014 | */ |
2015 | static int ing_filter(struct sk_buff *skb) | 2015 | static int ing_filter(struct sk_buff *skb) |
2016 | { | 2016 | { |
2017 | struct Qdisc *q; | ||
2018 | struct net_device *dev = skb->dev; | 2017 | struct net_device *dev = skb->dev; |
2019 | int result = TC_ACT_OK; | ||
2020 | u32 ttl = G_TC_RTTL(skb->tc_verd); | 2018 | u32 ttl = G_TC_RTTL(skb->tc_verd); |
2019 | struct netdev_queue *rxq; | ||
2020 | int result = TC_ACT_OK; | ||
2021 | struct Qdisc *q; | ||
2021 | 2022 | ||
2022 | if (MAX_RED_LOOP < ttl++) { | 2023 | if (MAX_RED_LOOP < ttl++) { |
2023 | printk(KERN_WARNING | 2024 | printk(KERN_WARNING |
@@ -2029,10 +2030,12 @@ static int ing_filter(struct sk_buff *skb) | |||
2029 | skb->tc_verd = SET_TC_RTTL(skb->tc_verd, ttl); | 2030 | skb->tc_verd = SET_TC_RTTL(skb->tc_verd, ttl); |
2030 | skb->tc_verd = SET_TC_AT(skb->tc_verd, AT_INGRESS); | 2031 | skb->tc_verd = SET_TC_AT(skb->tc_verd, AT_INGRESS); |
2031 | 2032 | ||
2032 | spin_lock(&dev->ingress_lock); | 2033 | rxq = &dev->rx_queue; |
2034 | |||
2035 | spin_lock(&rxq->lock); | ||
2033 | if ((q = dev->qdisc_ingress) != NULL) | 2036 | if ((q = dev->qdisc_ingress) != NULL) |
2034 | result = q->enqueue(skb, q); | 2037 | result = q->enqueue(skb, q); |
2035 | spin_unlock(&dev->ingress_lock); | 2038 | spin_unlock(&rxq->lock); |
2036 | 2039 | ||
2037 | return result; | 2040 | return result; |
2038 | } | 2041 | } |
@@ -3795,7 +3798,6 @@ int register_netdevice(struct net_device *dev) | |||
3795 | spin_lock_init(&dev->_xmit_lock); | 3798 | spin_lock_init(&dev->_xmit_lock); |
3796 | netdev_set_lockdep_class(&dev->_xmit_lock, dev->type); | 3799 | netdev_set_lockdep_class(&dev->_xmit_lock, dev->type); |
3797 | dev->xmit_lock_owner = -1; | 3800 | dev->xmit_lock_owner = -1; |
3798 | spin_lock_init(&dev->ingress_lock); | ||
3799 | 3801 | ||
3800 | dev->iflink = -1; | 3802 | dev->iflink = -1; |
3801 | 3803 | ||