From 3881133f51d29a1ea1e3afd74e0ca83789307cd7 Mon Sep 17 00:00:00 2001 From: Amerigo Wang Date: Fri, 10 Aug 2012 01:24:40 +0000 Subject: [PATCH] --- yaml --- r: 321965 b: refs/heads/master c: 57c5d46191e75312934c00eba65b13a31ca95120 h: refs/heads/master i: 321963: 9af39595f10a6209e9a101857d9045c3eb441ec2 v: v3 --- [refs] | 2 +- trunk/include/linux/netpoll.h | 4 ++-- trunk/net/core/netpoll.c | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index ce67701cf85d..13c935e84d18 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3335f0ca130c201f8680e97f63612053fbc16e22 +refs/heads/master: 57c5d46191e75312934c00eba65b13a31ca95120 diff --git a/trunk/include/linux/netpoll.h b/trunk/include/linux/netpoll.h index 907812efb4d9..5d881c388273 100644 --- a/trunk/include/linux/netpoll.h +++ b/trunk/include/linux/netpoll.h @@ -52,7 +52,7 @@ void netpoll_set_trap(int trap); void __netpoll_cleanup(struct netpoll *np); void __netpoll_free_rcu(struct netpoll *np); void netpoll_cleanup(struct netpoll *np); -int __netpoll_rx(struct sk_buff *skb); +int __netpoll_rx(struct sk_buff *skb, struct netpoll_info *npinfo); void netpoll_send_skb_on_dev(struct netpoll *np, struct sk_buff *skb, struct net_device *dev); static inline void netpoll_send_skb(struct netpoll *np, struct sk_buff *skb) @@ -77,7 +77,7 @@ static inline bool netpoll_rx(struct sk_buff *skb) spin_lock(&npinfo->rx_lock); /* check rx_flags again with the lock held */ - if (npinfo->rx_flags && __netpoll_rx(skb)) + if (npinfo->rx_flags && __netpoll_rx(skb, npinfo)) ret = true; spin_unlock(&npinfo->rx_lock); diff --git a/trunk/net/core/netpoll.c b/trunk/net/core/netpoll.c index dc17f1db1479..d055bb01328b 100644 --- a/trunk/net/core/netpoll.c +++ b/trunk/net/core/netpoll.c @@ -543,13 +543,12 @@ static void arp_reply(struct sk_buff *skb) spin_unlock_irqrestore(&npinfo->rx_lock, flags); } -int __netpoll_rx(struct sk_buff *skb) +int __netpoll_rx(struct sk_buff *skb, struct netpoll_info *npinfo) { int proto, len, ulen; int hits = 0; const struct iphdr *iph; struct udphdr *uh; - struct netpoll_info *npinfo = skb->dev->npinfo; struct netpoll *np, *tmp; if (list_empty(&npinfo->rx_np))