aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/core/dev.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 3a06003ecafd..65492b0354c0 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1740,7 +1740,8 @@ static inline int deliver_skb(struct sk_buff *skb,
1740 1740
1741static inline void deliver_ptype_list_skb(struct sk_buff *skb, 1741static inline void deliver_ptype_list_skb(struct sk_buff *skb,
1742 struct packet_type **pt, 1742 struct packet_type **pt,
1743 struct net_device *dev, __be16 type, 1743 struct net_device *orig_dev,
1744 __be16 type,
1744 struct list_head *ptype_list) 1745 struct list_head *ptype_list)
1745{ 1746{
1746 struct packet_type *ptype, *pt_prev = *pt; 1747 struct packet_type *ptype, *pt_prev = *pt;
@@ -1749,7 +1750,7 @@ static inline void deliver_ptype_list_skb(struct sk_buff *skb,
1749 if (ptype->type != type) 1750 if (ptype->type != type)
1750 continue; 1751 continue;
1751 if (pt_prev) 1752 if (pt_prev)
1752 deliver_skb(skb, pt_prev, dev); 1753 deliver_skb(skb, pt_prev, orig_dev);
1753 pt_prev = ptype; 1754 pt_prev = ptype;
1754 } 1755 }
1755 *pt = pt_prev; 1756 *pt = pt_prev;