diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-21 10:57:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-21 10:57:45 -0400 |
commit | 7d3628b230ecbdc29566c18bc7800ff8ed66a71f (patch) | |
tree | eac1bff40bdb655fdfdeaf1e22ce12a81296f1fb /net/core | |
parent | 2c7871982cf27caaddbaeb7e2121ce1374b520ff (diff) | |
parent | 94833dfb8c98ed4ca1944dd2c1339d88a2d1c758 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits)
[NET] ifb: set separate lockdep classes for queue locks
[IPV6] KCONFIG: Fix description about IPV6_TUNNEL.
[TCP]: Fix shrinking windows with window scaling
netpoll: zap_completion_queue: adjust skb->users counter
bridge: use time_before() in br_fdb_cleanup()
[TG3]: Fix build warning on sparc32.
MAINTAINERS: bluez-devel is subscribers-only
audit: netlink socket can be auto-bound to pid other than current->pid (v2)
[NET]: Fix permissions of /proc/net
[SCTP]: Fix a race between module load and protosw access
[NETFILTER]: ipt_recent: sanity check hit count
[NETFILTER]: nf_conntrack_h323: logical-bitwise & confusion in process_setup()
[RT2X00] drivers/net/wireless/rt2x00/rt2x00dev.c: remove dead code, fix warning
[IPV4]: esp_output() misannotations
[8021Q]: vlan_dev misannotations
xfrm: ->eth_proto is __be16
[IPV4]: ipv4_is_lbcast() misannotations
[SUNRPC]: net/* NULL noise
[SCTP]: fix misannotated __sctp_rcv_asconf_lookup()
[PKT_SCHED]: annotate cls_u32
...
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/netpoll.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/core/netpoll.c b/net/core/netpoll.c index 4b7e756181c9..c635de52526c 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c | |||
@@ -215,10 +215,12 @@ static void zap_completion_queue(void) | |||
215 | while (clist != NULL) { | 215 | while (clist != NULL) { |
216 | struct sk_buff *skb = clist; | 216 | struct sk_buff *skb = clist; |
217 | clist = clist->next; | 217 | clist = clist->next; |
218 | if (skb->destructor) | 218 | if (skb->destructor) { |
219 | atomic_inc(&skb->users); | ||
219 | dev_kfree_skb_any(skb); /* put this one back */ | 220 | dev_kfree_skb_any(skb); /* put this one back */ |
220 | else | 221 | } else { |
221 | __kfree_skb(skb); | 222 | __kfree_skb(skb); |
223 | } | ||
222 | } | 224 | } |
223 | } | 225 | } |
224 | 226 | ||